Contact: devloic at gmail dot com

Customization

A l'heure actuelle le plugin exportGge est fortement couplé à des coreplugins
modifiés "tables" et "query" basés sur la version de cartoweb définie dans
"intall.txt". Ceci est susceptible de changer à l'avenir si possible.
exportGge supporte différentes projection EPSG ( au niveau du mapfile, pas pour
chaque couche individuellement). exportGge n'est pour l'instant pas performant
sur des couches comprenant de nombreuses features (=shapes).

Pour utiliser exportGge dans votre propre projet vous devez:

  • utiliser la syntax EPSG pour déclarer la projection du mapfile
  • mettre persistentQueries = false dans VOTRE_PROJECT/client_conf/query.ini
  • copier les coreplugins "tables" et "query" de demoCW3gge dans le répertoire coreplugins de votre projet. S'ils sont déjà présents alors il convient de faire une fusion des fichiers sources.
  • copier le plugin "exportGge" de demoCW3gge vers le répertoire "plugins" de votre projet
  • copier demoCW3gge/client_conf/exportGge.ini dans VOTRE_PROJECT/client_conf/ et modifier la valeur de "fileName" si vous souhaitez que les fichiers KML générés portent un autre nom
  • copier le template "cartoclient.tpl" de demoCW3gge dans le répertoire "templates" de votre projet ou insérer :


{if $exportgge_active|default:''}

{/if}

là ou vous voudrez que l'icône google earth apparaisse dans votre template.

  • déployer votre projet de nouveau en ligne de commande
  • faire un php cw3setup.php --clean --project YOUR_PROJECT

exporGge utilisent les templates smarty pour personaliser le rendu KML et geoRSS des couches. Depuis la version 0.92 chaque couche peut avoir son propre template mais il est aussi possible de spécifier ce template dynamiquement en renseignant la valeur du paramètre "ggetpl" dans l'URL.
Les templates pour geoRSS se trouvent sous exportGge/templates/dataformat/georss.
Les templates pour KML se trouvent sous exportGge/templates/dataformat/kml.
Par défault exportGge utilisera georss.tpl, georss_point.tpl, georss_line.tpl et georss_polygon.tpl pour le rendu geoRSS et kml.tpl, kml_point.tpl, kml_line.tpl and kml_polygon.tpl pour le rendu KML.
L'exemple suivant illustre la flexibilité qu'apporte exportGge pour représenter différentes couches de manière distincte ( le principe est le même pour la génération en geoRSS).

Supposons qu'on veuille représenter la couche lake ( nom CartoWeb de la couche) qui est une couche de type polyone différement des autres couches polygone. Pour arriver à cela il suffit de créer un ficher kml_lake_polygon.tpl. Une fois créé, exportGge utilisera ce template à la palce du kml_polygon.tpl standard.
Il peut arriver que sur certaines pages d'un site utilisant cartoWeb on veuille représenter tous les couches de type polygone différement des autres pages. En passant par example ggetpl=mytemplate dans l'url, exportGge essaiera d'utiliser des templates comprenant _mytemplate dans le nom de fichier. Pour la couche lake avec ggetpl=mytemplate dans l'URL, exportGge va d'abord chercher: kml_mytemplate_lake_polygon.tpl. Si ce fichier ne peut être trouvé in tentera d'utiliser kml_mytemplate_polygon.tpl. Si ce fichier n'est toujours pas disponible il essaiera kml_lake_polygon.tpl puis finalement utilisera le fichier par défaut kml_polygon.tpl.
Le principe de nommage est le même pour les templates de points et de lignes ainsi que pour le template principale kml.tpl.
En regardant sous exportGge/templates/dataformat/ cela peut aider à comprendre ce fonctionnement.
La génération geoJSON n'utilise pas de templates mais intervient directement dans la classe cliente du plugin exportGge.

Pour KML:
<Networklink> peut être changé dans exportGge/templates/dataformat/kml/wms.tpl
<GroundOverlay> peut être changé dans exportGge/templates/dataformat/kml/groundoverlay.tpl
wms.tpl et groundoverlay.tpl son utilisés globalement et ne peuvent pas être déclinés en les renommant.
Les styles KML peuvent être redéfinis dans exportGge/templates/dataformat/kml/kml.tpl.

La manière dont les données sont accédées dans les templates essaie
de se rapprocher de la syntaxe de l'API Mapscript (ex : $line->numpoints,
$shape->line($i) .. ) mais ce ne sont pour autant pas des objets mapscript.

Différences entre la version demoCW3 et demoCW3gge:

  • persistentQueries est positionné à false dans client_conf/query.ini
  • maxResults et ignoreQueryThreshold sont positionnés à 100000000 dans server_conf/demoCW3gge/mapquery.ini
  • TRANSPARENCY est positionné à 100 dans demoCW3gge.map pour les layers qui supportent des requêtes

 

Répondre

  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • You may post code using <code language="LANGUAGE">...</code> tags.

Plus d'informations sur les options de formatage

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.