Deprecated: Return type of YDataTable::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bdavid/prod/georef/yamldoc/ydclasses/ydata.inc.php on line 428

Deprecated: Return type of YamlDataTable::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/bdavid/prod/georef/yamldoc/ydclasses/yamldata.inc.php on line 295
/geodata (pub)
Menu : html yaml json edit check reindex dump unset
* 

{
    "title": "Présentation de l'accès aux données géographiques avec YamlDoc",
    "journal": {
        "2018-09-23": [
            "renommage VectorDataset en FeatureDataset"
        ],
        "2018-08-15": [
            "nouvelle vesrion fusionnant dans VectorDataset ShapeDataset, WfsLayers et MultiScaleDataset"
        ],
        "2018-08-10": [
            "revisite du document après avoir implanté GeoData, WfsServer, MultiScaleGeoData et Map"
        ],
        "2018-08-05": [
            "première réflexions inspirée de bdv.geoapi.fr avec version minimum de GeoData et Map fonctionne avec Route500"
        ]
    },
    "description": "## Accès aux données géographiques\nYamlDoc définit des mécanismes d'accès aux données géographiques au travers de types de documents\ncorrespondant à des séries de données géographiques (SD),\nen distinguant des [SD d'objets vecteur](?ypath=/feature), des [SD image](?ypath=/image)\net des [SD de consultation](?doc=view).\nCes mécanismes sont conçus afin que les SD puissent facilement être affichées\navec la [bibliothèque Leaflet](https://leafletjs.com/) :\n  \n  - les SD d'objets au moyen du plugin [uGeoJson](https://github.com/BenjaminVadant/leaflet-ugeojson),\n  - les SD de consultation au moyen de la classe [TileLayer](https://leafletjs.com/reference-1.3.2.html#tilelayer).\n  \nDe plus les couches sont utilisables avec des logiciels comme [umap](https://umap.openstreetmap.fr/fr/)\nqui respectent les mêmes standards d'interopérabilité.\n\nEn outre :\n  \n  - des [documents carte](?ypath=/map) permettent d'afficher ces SD, ou certaines de leurs couches,\n    au travers de cartes Leaflet,\n  - un [document bibliothèque de symboles](?doc=markerlib) gère une bibliothèque de symboles ponctuels\n    utilisés dans les cartes.\n",
    "feature": "## SD d'objets vecteur\nUne SD d'objets vecteur (FeatureDataset) est composée de couches d'objets vecteur,\nchacune correspondant à une FeatureCollection [GeoJSON](https://tools.ietf.org/html/rfc7946) ;\nchaque couche est donc composée d'objets vecteur, les Feature GeoJSON,\nsur lesquels des critères de sélection peuvent être appliqués.\n\n### Affichage multi-échelles\nLes SD d'objets vecteur sont conçues pour permettre un [affichage multi-échelles](?doc=geodata/multi-echelles)\ndes données.  \nLe tableau ci-dessous indique les produits utilisés en fonction du zoom.\n\n| Niveaux || Echelles (dénom.)| Produit utilisé |\n| :------ || :------------: | :-------------- |\n|  0 - 3  || > 70 M | [Natural Earth 110M](?doc=geodata/ne_110m) |\n|  4 - 8  || 35 M - 2 M | [Natural Earth 10M](?doc=geodata/ne_10m) |\n|  9 - 11 || 1 M - 273 k | [Route500](?doc=geodata/route500) |\n| 12 - 13 || 136 k - 68 k | [BD Carto](?doc=geodata/bdcarto) |\n| 14 - 18 || 34 k - 2 k | [BD Topo](?doc=geodata/bdtopo) |\n\nLes couches suivantes sont définies dans plusieurs SD et peuvent être visualisées dans différents produits :\n<table border=1><th>NE 110M</th><th>NE 10M</th>\n  <th>Route500</th><th>BD Carto</th>\n  <th>BD Topo</th>\n  <th>Commentaire</th>\n<tr><td colspan=2 align=center>coastline</td>\n  <td colspan=2 align=center>coastline</td>\n  <td>coastline</td>\n  <td>trait de côte</td></tr>\n<tr><td colspan=2 align=center>coastAdminBoundaryLines</td>\n  <td colspan=2 align=center>limite_administrative</td>\n  <td></td>\n  <td>fusion du trait de côte et de limites administratives</td></tr>\n<tr><td colspan=2 align=center>populated_places_simple</td>\n  <td align=center>noeud_commune</td><td align=center>zone_habitat</td>\n  <td><a href='?doc=geodata/bdtopo&amp;ypath=/layers/chef_lieu'>chef_lieu</a></td>\n  <td>étiquette des noms des principales villes</td></tr>\n<tr><td align=center>rivers_lake_centerlines</td><td align=center>rivers_lake_centerlines_scale_rank</td>\n  <td colspan=2 align=center>troncon_hydrographique</td>\n  <td>troncon_cours_eau</td>\n  <td>axes des rivières et des lacs</td></tr>\n<tr><td></td><td align=center>roads</td>\n  <td colspan=2 align=center>troncon_route</td>\n  <td>route</td>\n  <td>routes</td></tr>\n<tr><td></td><td align=center>railroads</td>\n  <td colspan=2 align=center>troncon_voie_ferree</td>\n  <td>troncon_voie_ferree</td>\n  <td>voies ferrées</td></tr>\n<tr><td></td><td align=center>urban_areas</td>\n  <td align=center>zone_batie</td><td align=center>zone_batie_activites</td>\n  <td></td>\n  <td>zones urbanisées</td></tr>\n\n</table>\nLa [SD multi-échelles](?doc=geodata/mscale) définie ces couches appellant le produit adapté au zoom d'affichage.  \nDe plus, chaque SD, comme par exemple la BD CARTO, peut intégrer des couches aux échelles plus petites.\n   \nLes autres SD vecteur définies sont :\n\n  - [Admin Express](?doc=geodata/adminexpress)\n  - [BD ADRESSE](?doc=geodata/bdadresse)\n  - [BD PARCELLAIRE VECTEUR](?doc=geodata/bdparcellaire)\n\n### API exposée\nUn document décrivant une SD vecteur, d'une part, peut s'afficher et, d'autre part, expose une API\nconstituée des 6 points d'entrée suivants :\n  \n  1. {docid} : description de la SD en JSON (ou en Yaml), y compris la liste de ses couches\n    ([exemple de Route500](/yamldoc/id.php/geodata/route500),\n    [en Yaml](/yamldoc/id.php/geodata/route500?format=yaml)),\n  2. {docid}/{lyrname} : description de la couche en JSON (ou en Yaml), cette URI identifie la couche\n    ([exemple de la couche commune de Route500](/yamldoc/id.php/geodata/route500/commune)),\n  3. {docid}/{lyrname}?{query} : requête sur la couche renvoyant un FeatureCollection GeoJSON  \n    où {query} peut être:\n      - bbox={lngMin},{latMin},{lngMax},{latMax}&zoom={zoom}\n        ([exemple](/yamldoc/id.php/geodata/route500/commune?bbox=-2.71,47.21,2.72,47.22&zoom=10)),\n      - where={critère SQL/CQL}\n        ([exemple des communes dont le nom commence par\n        BEAUN](/yamldoc/id.php/geodata/route500/noeud_commune?where=nom_comm%20like%20'BEAUN%')),\n  4. {docid}/{lyrname}/id/{id} : renvoie l'objet d'id {id} (A FAIRE)\n  5. {docid}/map : renvoie le document JSON décrivant la carte standard affichant la SD\n    ([exemple de la carte Route500](/yamldoc/id.php/geodata/route500/map)),\n  6. {docid}/map/display : renvoie le code HTML d'affichage de la carte standard affichant la SD\n    ([exemple d'affichage de la carte Route500](/yamldoc/id.php/geodata/route500/map/display)),\n\nEn utilisant cette API, une carte affichant une SD vecteur peut être construite\navec le [logiciel umap](https://umap.openstreetmap.fr/fr/).\nPour cela définir un calque en indiquant :\n  \n  - comme *données distantes*\n    l'URL `{docid}/{lyrname}?bbox={bbox}&zoom={zoom}`,  \n    par exemple: `id.php/geodata/route500/limite_administrative?bbox={bbox}&zoom={zoom}`\n  - comme *format des données*: **geojson**,\n  - qu'il s'agit d'un calque *dynamique* afin que les données soient requêtées à chaque fois que la vue\n    de la carte change,\n  - d'activer le **proxy**.\n\n### Définition des couches\nUne couche vecteur peut être implantée de 4 manières différentes :\n  \n  1. elle peut correspondre à un fichier OGR chargé dans une table MySQL ;\n    dans ce cas une première étape de chargement des fichiers en base est nécessaire ;\n    des exemples sont   :\n      - la [couche limite administrative de Route500](id.php/geodata/route500/limite_administrative),\n      - la [couche coastline de la Natural Earth 10M](id.php/geodata/ne_10m/coastline)\n  2. elle peut aussi correspondre à une couche exposée par un service WFS ;\n    des exemples sont :\n      - la [couche commune d'ADMIN EXPRESS](id.php/geodata/adminexpress/commune),\n      - la [couche troncon_hydrographique de la BDCARTO](id.php/geodata/bdcarto/troncon_hydrographique),\n      - la [couche troncon_laisse de la BDTOPO](id.php/geodata/bdtopo/troncon_laisse),\n      \n    Une couche OGR ou WFS peut en outre être filtrée en fonction du zoom ;\n    la [couche limite administrative de Route500](id.php/geodata/route500/limite_administrative)\n    en est une illustration.\n    \n  3. une couche peut aussi être définie par une sélection dans une des couches précédentes définie dans la même SD ;  \n    Un exemple est la [couche coastline de Route 500](id.php/geodata/route500/coastline).\n    \n  4. une couche peut enfin être définie en fonction du zoom d'affichage et de la zone géographique\n    par une des couches précédentes ;  \n    Un exemple d'une telle couche est\n    la [couche coastline de la SD multi-échelles](id.php/geodata/mscale/coastline) en construction.\n    \n[Voir ici les spécs détaillées des documents FeatureDataset](?action=version&doc=geodata&name=featureds.inc.php).\n\nPar ailleurs, pour utiliser les serveurs WFS, un type de document WfsServer est défini.\nLe [serveur WFS du Géoportail IGN](?doc=geodata/igngpwfs) en est un exemple.\n    \n",
    "image": "Les SD image sont constituées de couches d'images. (A FAIRE)\n  \n",
    "map": "Un document carte décrit une carte Leaflet\n([exemple de la carte de test](?doc=geodata/testmap)).\n\nDe plus, chaque SD d'objets vecteur a la capacité de générer une carte standard\n([exemple de la carte standard de Route500](id.php/geodata/route500/map)).\n\n\n "
}