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:
{if $exportgge_active|default:''}
là ou vous voudrez que l'icône google earth apparaisse dans votre template.
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: