IGNF / geoportal-extensions

French Geoportal Extensions for well-known javascript mapping libraries (Leaflet and OpenLayers)
https://ignf.github.io/geoportal-extensions/
Other
64 stars 33 forks source link

Feature import editable #307

Closed lowzonenose closed 2 years ago

lowzonenose commented 3 years ago

Pour la modification (mode édition) des données vecteurs (KML, GPX et GeoJSON) sur le Portail avec l'outil de dessin, il nous faut sauvegarder (sérialisation) les styles appliqués par l'utilisateur afin de pouvoir les retrouver sur l'espace personnel ou les exporter vers une autre application.

Cette évolution permet de rendre éditable les données vecteurs importées (KML, GPX et GeoJSON) sur le Portail.

Le format KML possède déjà sa sérialisation des styles.

Les développements portent donc sur les 2 formats suivants :

Pour le GeoJSON, les informations de styles sont enregistrées dans la balise properties. En fonction du type de géométrie, on utilise les balises suivantes :

Pour le GPX, les informations sont contenues dans la balise extensions.

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<gpx version="1.1" xmlns="http://www.topografix.com/GPX/1/1">
<wpt lat="41.622507000" lon="8.797880000">
 <ele>...</ele>
 <name>...</name>
 <cmt>...</cmt>
 <desc>...</desc>
 <sym>Waypoint</sym>
 <extensions>
    <marker-size>medium</marker-size>
    <marker-symbol></marker-symbol>
    <marker-color>#ffffff</marker-color>
 </extensions>
</wpt>
<wpt lat="41.581231359048246" lon="8.799877166748045">
  <type>Point</type>
    <extensions>
      <marker-symbol>data:image/png;base64,...</marker-symbol>
      <marker-size>medium</marker-size>
    </extensions>
</wpt>
<trk>
 <name>...</name>
 <number>1</number>
 <trkseg>
 <trkpt lat="41.629386000" lon="8.813782000">
   <ele>5.000000</ele><time>2005-08-20T07:25:43Z</time>
 </trkpt>
 </trkseg>
   <extensions>
     <stroke>#ffff00</stroke>
     <stroke-opacity>1</stroke-opacity>
     <stroke-width>7</stroke-width>
    </extensions>
  </trk>

Les balises utilisées sont les mêmes que pour le GeoJSON. Les extensions sont valide seulement pour la version 1.1.

Résultat du rendu sous GitHub.com image

Résultat du rendu avec le Geoportail image

3 exemples sont disponibles pour tester :

Pour info

Le test est à réaliser directement sur le Portail en utilisant la branche feature/import-editable sur le Portail

lowzonenose commented 2 years ago

Procédure de test :

Validation :

l'import doit être conforme aux croquis dessinés

Exception pour le GPX :

les surface ne sont pas acceptées par le format

elias75015 commented 2 years ago

Import GeoJSON (je mets le fichier en PJ, changer l'extension txt en geojson) sur extension geoportail pour openlayers :

elias75015 commented 2 years ago

Avec le gpx (en PJ, changer extension .txt en .gpx) :