Utilisation de KML
Le support du KML est assuré dans les APIs minimum, standard et étendue.
API Web 2D en Javascript
Configuration
L'ajout de données KML s'effectue de la façon suivante :
maCarte.getMap().addLayer(
"KML",
nom_de_la_couche,
"accès_au_kml",
options_kml,
options_popup
);
- le paramètre nom_de_la_couche contient le texte qui sera affiché dans le gestionnaire de couches. Ce nom peut être une chaîne de caractère ou un objet permettant le support du (Cf. multi-langues) ;
- le paramètre accès_au_kml contient le chemin d'accès aux données KML (Cf. utilisation d'un proxy) ;
- le paramètre optionnel options_kml contient les informations permettant d'affiner le comportement de la couche KML. Les options principales sont :
- visibility : true (la couche est affichée au chargement), false sinon ;
- minZoomLevel : zoom minimal (échelle la plus petite) d'affichage. Par défaut, c'est 0 (échelle monde entier) ;
- maxZoomLevel : zoom maximal (échelle la plus grande) d'affichage. Par défaut, c'est le zoom correspondant à l'échelle maximale de la carte de base ;
- view : les paramètres de gestion de la couche :
- drop : ajoute un contrôleur permettant d'enlever la couche du gestionnaire. Mis à true par défaut ;
- zoomToExtent : ajoute un contrôleur permettant de zoomer sur l'emprise du KML chargé. Mis à true par défaut ;
- projection : la projection de gestion des données (Cf. internalProjection). Par défaut, elle est mise à celle de la carte (au travers de la couche de base). Il est conseillé de ne pas surcharger cette option ;
- preFeatureInsert : function appelée juste avant l'insertion de l'objet KML dans la couche. Par défaut, c'est la fonction Geoportal.Popup.Anchored.setPointerCursorForFeature qui est utilisée : elle change la nature du pointeur de la souris quant celle-ci est au dessus de l'objet KML ;
- onFeatureInsert : fonction de création de la fiche d'objet KML. Par défaut, c'est la fonction Geoportal.Popup.Anchored.createPopUpForKMLFeature qui est utilisée : elle utilise les champs description et, si présent, name du KML. Les fiches sont portées par la classe Geoportal.Popup.Anchored ;
- format : format gérant la lecture du KML. C'est OpenLayers.Format.KML ;
- formatOptions : options liées à la lecture du KML :
- internalProjection : la projection de la carte (au travers de la couche de base) ;
- extractAttributes : indicateur de lecture des informations KML. Par défaut, il est mis à true. Si mis à false (valeur par défaut d'OpenLayers), la fiche de l'objet KML est vide ;
- extractStyles : indicateur de lecture des styles KML. Par défaut, il est mis à true. Si mis à false, c'est au développeur d'ajouter les styles ;
- le paramètre optionnel options_popup contient les informations permettant d'affiner le comportement des popups associées à la couche KML. Les options principales sont :
- onSelect : fonction appelée lors de la sélection d'un objet KML. Par défaut, c'est la fonction Geoportal.Control.selectFeature qui est utilisée : elle affiche la fiche de l'objet ;
- onUnselect : fonction appelée lors de la désélection d'un objet KML. Par défaut, la fonction Geoportal.Control.unselectFeature qui est utilisée : elle ferme la fiche et la libère ;
- hover : indicateur de sélection des objets. Par défaut, il faut cliquer (false) pour sélectionner un objet KML ;
- preventDefaultBehavior : désactive la gestion des popups - laisse le développeur ajouter les mécanismes de gestion des popups ;
Il est bien sûr possible d'utiliser directement OpenLayers pour créer une couche KML, puis de l'ajouter à la carte Géoportail :
var kml= new OpenLayers.Layer.GML(
nom_de_la_couche,
"accès_au_fichier.kml",
options_kml
);
maCarte.getMap().addLayer(kml);
- options_kml regroupe tous les paramètres précédents, mais en obligeant à les remplir.

Modifier le rendu des fiches KML
Pour modifier le rendu et le comportement par défaut des fiches KML, il faut surcharger les options preFeatureInsert, onFeatureInsert, onSelect, onUnselect, et, éventuellement, hover.
Performances
Les données présentes dans le KML sont chargées en mémoire de l'application. Le paramètre extractAttributes peut être désactivé pour éviter de charger toutes les informations contenues dans le fichier KML. Cette remarque s'applique aussi au paramètre extractStyles.
Il a été mesuré qu'au delà de 200 objets des ralentissements sont perceptibles.
Dans le cas de données KML volumineuses, il est conseillé de se tourner vers le WFS ou une combinaison de WMS/WFS.
Utilisation de GPX
Le support du KML est assuré dans les APIs minimum, standard et étendu.
API Web 2D en Javascript
Configuration
L'ajout de données GPX (Cf. aussi spécifications GPX (en anglais) s'effectue de la façon suivante :
maCarte.getMap().addLayer(
"GPX",
nom_de_la_couche,
"accès_au_gpx",
options_gpx,
options_popup
);
La signification des paramètres est la même que pour les données en KML aux changements suivant près :
- format : format gérant la lecture du GPX. C'est Geoportal.Format.GPX. Cette classe supporte la lecture de l'élément author et l'écriture des données GPX ;
- formatOptions : options liées à la lecture du GPX :
- internalProjection : la projection de la carte (au travers de la couche de base) ;
- extractWaypoints : lit les points. Par défaut, mis à true ;
- extractTracks : lit les traces. Par défaut, mis à true ;
- extractRoutes : lit les itinéraires. Par défaut, mis à true ;
- extractAttributes : indicateur de lecture des informations GPX. Par défaut, il est mis à true. Si mis à false (valeur par défaut d'OpenLayers), la fiche de l'objet GPX est vide ;
- onFeatureInsert : fonction de création de la fiche d'objet GPX. Par défaut, c'est la fonction Geoportal.Popup.Anchored.createPopUpForGPXFeature qui est utilisée : elle utilise les champs présents desc, cmt, ele et name du GPX. Les fiches sont portées par la classe Geoportal.Popup.Anchored ;
Modifier le rendu des fiches GPX
La procédure est identique à KML.

Performances
Les données présentes dans le GPX sont chargées en mémoire de l'application. Le paramètre extractAttributes peut être désactivé pour éviter de charger toutes les informations contenues dans le fichier KML. Cette remarque s'applique aussi aux paramètres extractWaypoints, extractTracks et extractRoutes utilisés pour charger les objets de ces types.
Il a été mesuré qu'au delà de 200 objets des ralentissements sont perceptibles.
Dans le cas de données GPX volumineuses, il est conseillé de se tourner vers le WFS ou une combinaison de WMS/WFS.
Utilisation d'OSM
Le support du format OSM est assuré dans les APIs minimum, standard et étendu.
API Web 2D en Javascript
Configuration
L'ajout de données OSM s'effectue de la façon suivante :
maCarte.getMap().addLayer(
"OSM",
nom_de_la_couche,
"accès_au_osm",
options_osm,
options_popup
);
La signification des paramètres est la même que pour les données en KML aux changements suivant près :
- format : format gérant la lecture du OSM. C'est OpenLayers.Format.OSM ;
- formatOptions : options liées à la lecture du OSM :
- internalProjection : la projection de la carte (au travers de la couche de base) ;
- checkTags : vérification des balises. Par défaut à false ;
- areaTags : liste des balises, ne s'applique que si checkTags est à true. Par défaut à null ;
- onFeatureInsert : fonction de création de la fiche d'objet OSM. Par défaut, c'est la fonction Geoportal.Popup.Anchored.createPopUpForGMLFeature qui est utilisée : elle utilise les champs présents de l'objets. Les fiches sont portées par la classe Geoportal.Popup.Anchored ;
Modifier le rendu des fiches OSM
La procédure est identique à KML.

Performances
Les données présentes dans le OSM sont chargées en mémoire de l'application. Il est conseillé de ne pas utiliser les paramètres checkTags et areaTags qui alourdissent considérablement le chargement initial des données.
Il a été mesuré qu'au delà de 200 objets des ralentissements sont perceptibles.
Dans le cas de données OSM volumineuses, il est conseillé de se tourner vers l'API OSM ou une combinaison de WMS/API OSM.