-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathphpdoc.yaml
109 lines (102 loc) · 5.62 KB
/
phpdoc.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
title: geomce - vérification du processus de publication de GéoMCE
path: /gexplor/geomce
doc: |
L'objectif de ce projet est d'effectuer une vérification du processus de publication de GéoMCE CPII -> Cerema -> Géoportail
La démarche est de stocker les versions successives des livraisons:
- export GéoMCE produit par le CPII (export PotsgreSQL) (id cpii)
- export Céréma vers le Géoportail (SHP, WFS, GeoJSON ?) (id cerema)
- flux WFS du Géoportail (id igngp)
et de réaliser sur ces livraisons:
- une visualisation sous la forme de cartes Leaflet
- des croisements entre eux afin notamment de détecter des différences
- des statistiques simples sur chacune
Projet publié sur https://github.com/benoitdavidfr/geomce
en dev:
synchro:
http://localhost/synchro.php?remote=http://bdavid.alwaysdata.net/&dir=gexplor/geomce
accueil:
http://bdavid.alwaysdata.net/gexplor/geomce/
en prod:
synchro:
http://localhost/synchro.php?remote=http://prod.geoapi.fr&dir=gexplor/geomce
accueil:
http://gexplor.fr/geomce/
Enseignements:
- l'architecture flux GeoJSON / carte Leaflet s'avère très pertinente
- une carte lit un flux GéoJSON avec le plug-in uGeoJSON et en effectue une rerésentation cartographique
- ce flux est généré par un script à partir de la source des données en fonction du zoom et de la BBox
- mise en oeuvre d'un algo de généralisation des géométries
- développement d'un nouveau package GéoJSON plus efficace que geometry
- code plus générique provenant du codage plus simple des coordonnées (comme en GéoJSON)
- avec PgSql, il n'est plus utile de gérer le WKT
- cependant, avec la version MySQL sur Alwaysdata cela reste nécessaire
- simplification de l'interface de CoordSys notamment pour UTM
- transfert de ce module dans ../../gegeom
- nouveauté d'utiliser un style dans GéoJSON inspiré de https://github.com/mapbox/simplestyle-spec/tree/master/1.1.0
- le style est généré en même temps que le GéoJSON et est consommé par la carte Leaflet
- c'est une approche différente de celle du calcul du style à la volée dans Leaflet par une fonction JS
utilisée par exemple pour visualiser la BDTopo
- logique d'utilisation de marker.php/{symbol}/{colors}?/{width}?/{height}?.{fmt}?
préférable à l'utilisation d'une bibliothèque de marker stockée dans la carte insuffisamment extensible
- utilité de standardiser les cartes Leaflet selon le principe de la classe YamlDoc Map
- intérêt d'y ajouter de nlles fonctionnalités
- PgSQL est complexe à utiliser sur les FeatureCollection, notamment le prédicat d'intersection dans la requête
ne fonctionne pas
- j'ai contourné cette difficulté en effectuant la sélection BBox dans le code
- cela a été possible car la base est très petite
- utilisation des tests unitaires
Architecture:
- load.php lit les sources et génère une table standardisée dans la base PgSQL,
- geojson.php lit une table standardisée de la base PgSQL et génère un flux GéoJSON généralisé et stylé
en fonction du zoom et du GBox
- html.php lit une table standardisée de la base PgSQL et génère une page HTML des mesures
- geojson.inc.php implémente des fonctions communes pour les 2 scripts précédents
- map.php est la carte Leaflet d'affichage du flux GéoJSON, legend.php est sa légende
- marker.php génère un symbole ponctuel en fonction du nom du symbole, de la couleur, ...
- index.php propose un menu
AFaire:
- visualiser avec QGis l'effectivité des écarts
- générer les tables simplifiées au chargement
- permettre dans diff.php de croiser 2 livraisons qqc
journal: |
28/4/2019:
- restructuration de geojson.inc.php pour utiliser ../../gegeom et ../../coordsys
11-15/4/2019:
chgt d'objectifs du projet - l'objectif de mars était de visualiser les données -
le nouvel objectif est d'effectuer une vérification de la chaine de publication
chargement du nouvel export CPII
découpage du fichier source en 2 fichiers
- un fichier de création de tables et exécution par phppgadmin
- un fichier d'insertion des données
- recopie du dernier fichier sur Alwaysdata
- se connecter sur alwaysdata
lancer psql -h postgresql-bdavid.alwaysdata.net bdavid_geomce < geomce_extr_ign2.sql
data dans mesures_communes + mesures_emprises
donner les droits sur chacune des tables
les géométries sont en projection légale
mesures_emprises:
Nombre de mesures: 1590 (3005 dans la version précédente)
Somme des surfaces: 21985 ha
Somme des longueurs: 242 km
mesures_communes:
Nombre de mesures: 322
5/3/2019
distinction entre symboles différents, paramétrages des symboles, utilisation de style pour les points
ajout de la légende de la carte
ajout de la surface et de la longueur des mesures
4/3/2019
création du projet
Réalisation d'une carte Leaflet des mesures GéoMCE issues de l'export produit par CPII.
Dans la carte, la localisation des mesures sur La Réunion a été corrigée des erreurs de projection.
Les mesure_emprise sont généralisées pour les zoom < 14 sous la forme d'un point ou d'un rectangle.
Les grandes mesures sont désagrégés en fonction du zoom.
htmlFiles:
phpScripts:
- /gexplor/geomce/index.php
- /gexplor/geomce/geojson.php
- /gexplor/geomce/html.php
- /gexplor/geomce/map.php
- /gexplor/geomce/legend.php
- /gexplor/geomce/marker.php
phpIncludes:
- /gexplor/geomce/geojson.inc.php