[migration:reporté]fusion pages massifs et nav
-
- Messages : 387
- Enregistré le : 08 mars 2004, 23:32
[migration:reporté]fusion pages massifs et nav
alors voila
Que pensez vous de fusionner les 2 dans "nav" ?
Voila comment je vois les choses:
tout renvoie vers nav/
Si l'URL est un Massif ( /nav/Massif/99/)
-Contour du massif avec les points dedans et la legende a gauche, classique.
Si l'URL est une Zone ( /nav/Zone/444/ )
-Pas de points, pas de legende, on affiche la mosaique de massifs qui sont dans la zone (sans l'afficher elle meme)
En fait c'est un peu ce qu'il y a deja, mais en regroupant du code, en virant les definitions dans le HTML ...
l'argument 1 de l'URL nav/Massif/27/Jura n'est actuellement pas utilisé et sert à merveille a faire la difference entre les zones/massifs
tout en gardant le choix du type d'affichage pour les cas speciaux (iles ...)
On peut mieux utiliser les polys de type 11 qui existe deja ("Massif de niveau 1") qui est en fait une Zone (Alpes / Pyreness/ Massifcentral ...)
les zones (type 11) seraient des gros carrés servant de conteneur, jamais affichés eux meme (on affichera jamais les alpes comme un massif avec 2500 points, ça n'a aucun sens, mais comme une mosaique de massifs)
Comme ce qui existe déja en fait
Que pensez vous de fusionner les 2 dans "nav" ?
Voila comment je vois les choses:
tout renvoie vers nav/
Si l'URL est un Massif ( /nav/Massif/99/)
-Contour du massif avec les points dedans et la legende a gauche, classique.
Si l'URL est une Zone ( /nav/Zone/444/ )
-Pas de points, pas de legende, on affiche la mosaique de massifs qui sont dans la zone (sans l'afficher elle meme)
En fait c'est un peu ce qu'il y a deja, mais en regroupant du code, en virant les definitions dans le HTML ...
l'argument 1 de l'URL nav/Massif/27/Jura n'est actuellement pas utilisé et sert à merveille a faire la difference entre les zones/massifs
tout en gardant le choix du type d'affichage pour les cas speciaux (iles ...)
On peut mieux utiliser les polys de type 11 qui existe deja ("Massif de niveau 1") qui est en fait une Zone (Alpes / Pyreness/ Massifcentral ...)
les zones (type 11) seraient des gros carrés servant de conteneur, jamais affichés eux meme (on affichera jamais les alpes comme un massif avec 2500 points, ça n'a aucun sens, mais comme une mosaique de massifs)
Comme ce qui existe déja en fait
Modifié en dernier par yip le 19 févr. 2013, 02:07, modifié 1 fois.
-
- Messages : 5041
- Enregistré le : 29 févr. 2004, 17:59
- Localisation : Chambéry - Savoie
Je ne sais pas trop.
d'un coté ça partage en effet beaucoup de code commun entre massif.php et nav.php et ça vaudrait sans doute le coup de factoriser (au niveau code) d'un autre coté, l'objectif n'est pas la même et les deux sont orthogonaux :
On a besoin de ça : http://www.refuges.info/massifs.php?zone=Pyrenees
Mais on peut aussi vouloir ça : http://www.refuges.info/nav/massif-nive ... /Pyrenees/
Se baser sur le texte "Zone" ou "Massif" ne me semble pas idéal, il arrivera bien un moment où la fonctionnalité qu'on veut dépend non pas du type de polygone, mais de ce qu'on veut en faire
Mais je n'ai pas de solution à proposer.
Idées :
déjà, pour être homogène avec les points, je propose de changer nos urls vers :
http://www.refuges.info/nav/351/massif- ... /Pyrenees/
(l'id en premier), ainsi, une version courte http://www.refuges.info/nav/351 marchera
Maintenant, pour transmettre la fonctionnalité souhaitée (afficher les points, ou les polygones contenus/adjacents) j'hésite entre :
Un truc comme avant :
http://www.refuges.info/massif/351/blabla ou http://www.refuges.info/zone/351/blabla
et
http://www.refuges.info/nav/351/blabla
(distinction se fait par le premier texte entre / qui, aujourd'hui, correspond à un fichier réél sur le disque mais qui pourrait très bien être virtualisé à coup de rewrite ou même un simple fichier :
zone.php qui contient :
<?php include("massif.php"; ?>
Sachant que l'avenir que je prévois en vue du modèle MVC on aurait un C=controlleur qui s'occupe de prendre tous les appels en entrée (url ne pointant plus sur des fichiers mais sur des "fonctionnalités") et faire le dispatch vers des sous-controlleur qui appelleront les bonnes vues.
Ou un truc genre http://www.refuges.info/nav/351/blabla? ... ints|autre
Je ne suis pas sûr des mes solutions, j'écoutes donc vos avis
d'un coté ça partage en effet beaucoup de code commun entre massif.php et nav.php et ça vaudrait sans doute le coup de factoriser (au niveau code) d'un autre coté, l'objectif n'est pas la même et les deux sont orthogonaux :
On a besoin de ça : http://www.refuges.info/massifs.php?zone=Pyrenees
Mais on peut aussi vouloir ça : http://www.refuges.info/nav/massif-nive ... /Pyrenees/
Se baser sur le texte "Zone" ou "Massif" ne me semble pas idéal, il arrivera bien un moment où la fonctionnalité qu'on veut dépend non pas du type de polygone, mais de ce qu'on veut en faire
Mais je n'ai pas de solution à proposer.
Idées :
déjà, pour être homogène avec les points, je propose de changer nos urls vers :
http://www.refuges.info/nav/351/massif- ... /Pyrenees/
(l'id en premier), ainsi, une version courte http://www.refuges.info/nav/351 marchera
Maintenant, pour transmettre la fonctionnalité souhaitée (afficher les points, ou les polygones contenus/adjacents) j'hésite entre :
Un truc comme avant :
http://www.refuges.info/massif/351/blabla ou http://www.refuges.info/zone/351/blabla
et
http://www.refuges.info/nav/351/blabla
(distinction se fait par le premier texte entre / qui, aujourd'hui, correspond à un fichier réél sur le disque mais qui pourrait très bien être virtualisé à coup de rewrite ou même un simple fichier :
zone.php qui contient :
<?php include("massif.php"; ?>
Sachant que l'avenir que je prévois en vue du modèle MVC on aurait un C=controlleur qui s'occupe de prendre tous les appels en entrée (url ne pointant plus sur des fichiers mais sur des "fonctionnalités") et faire le dispatch vers des sous-controlleur qui appelleront les bonnes vues.
Ou un truc genre http://www.refuges.info/nav/351/blabla? ... ints|autre
Je ne suis pas sûr des mes solutions, j'écoutes donc vos avis
-
- Messages : 3705
- Enregistré le : 08 avr. 2006, 21:58
Tout à fait d'accord.
/massifs.php est redondant et devrait être supprimé, s'il manque quelque chose à la page d'accueil / ou à /nav.php, on peut le rajouter
C'était mon plan initial, je n'ai pas été au bout
/massifs.php est redondant et devrait être supprimé, s'il manque quelque chose à la page d'accueil / ou à /nav.php, on peut le rajouter
C'était mon plan initial, je n'ai pas été au bout
Dominique http://chemineur.fr
-
- Messages : 387
- Enregistré le : 08 mars 2004, 23:32
Ouf, soulagement, j'avais peur que ce soit un fork de nav vers plein de nouvelles fonctionnalités à venirDominique a écrit : Tout à fait d'accord.
/massifs.php est redondant et devrait être supprimé, s'il manque quelque chose à la page d'accueil / ou à /nav.php, on peut le rajouter
C'était mon plan initial, je n'ai pas été au bout
Pas de probleme, on peut le faire, pas besoin de 2 fichiers pour ca.sly a écrit :Je ne sais pas trop.
On a besoin de ça : http://www.refuges.info/massifs.php?zone=Pyrenees
Mais on peut aussi vouloir ça : http://www.refuges.info/nav/massif-nive ... /Pyrenees/
les pyrenees en tant que conteneur dans nav/352/zone/ et en tant que massif dans nav/352/massif/.
Avec ça, comme avec les exemples de prod, le type_poly est inutile.
C'est dommage.
Mais je pense pas que ce soit souhaitable, je vois pas trop l'utilité de l'affichage integral des points des pyrenées (toute la question est là).
La 1ere etape c'est deja de regrouper 2 fichiers aux fonctionnalités equivalente, mais la 2e, c'est de ne garder que l'ID dans l'URL et exploiter à fond le type associé ?
Bien vu, toute la reflexion est là. Mon avis est que les 2 sont très liés, et dans nos fonctionnalité actuelles, quasi identiques. Un shema relationnel super-carré : A chaque demande son type_poly. Pour un code clair et scalable à chaque demande (en théorie) sans cas particuliers (en théorie)sly a écrit : il arrivera bien un moment où la fonctionnalité qu'on veut dépend non pas du type de polygone, mais de ce qu'on veut en faire
Surement une vue un peu trop carrée.
Tu pensais a quelle fonctionalités en particulier ?
+1 tout a fait d'accord, plus logique, et le parametre apres 351 n'est pas indispensable car on saura comment afficher grace au type_polygon (comme avec les points, où ca marche du feu de diou)sly a écrit : Idées :
déjà, pour être homogène avec les points, je propose de changer nos urls vers :
http://www.refuges.info/nav/351/massif- ... /Pyrenees/
(l'id en premier), ainsi, une version courte http://www.refuges.info/nav/351 marchera
le /nav/351/(massif ou zone ou rien) que tu proposes me plait biensly a écrit : Maintenant, pour transmettre la fonctionnalité souhaitée (afficher les points, ou les polygones contenus/adjacents) j'hésite entre :
Un truc comme avant :
http://www.refuges.info/massif/351/blabla ou http://www.refuges.info/zone/351/blabla
et
http://www.refuges.info/nav/351/blabla
Meme si on ne devrait plus se servir de ce parametre: si on demande la france, la subdivision sera forcement departement, et pas autre chose, et jamais les points, si on demande les bauges, la subdivision ne sera jamais les departements, mais forcement les points ...
suivant le type_poly, on sait exactement ce qu'il faut faire. (en theorie)
Ou alors afficher les polys qui Intersects dont le type est inferieur dans un shema du genre:
typepoly exemple
99 Monde
50 Europe
15 France
13 PACA
11 Haute alpes
5 queyras
2 zone protegee de reproduction des ours blanc
0 (existe pas , on bascule sur les points)
Et a chaque fois, on affiche les 2 types du dessous.
-France affiche Region + departement
-Departement affiche massif + reserves
-Massif affiche reserve + .... les points vu qu'on est a 0.
Ce genre de chose permettrai d'afficher les parcs nationaux dans les massifs, avec les points.
Mais si le code est facilement realisable, il n'est pas souple: afficher les massifs dans la vue du monde n'est pas possible (mais si c'est bien foutu, pas souhaitable).
Bonne idéesly a écrit : distinction se fait par le premier texte entre / qui, aujourd'hui, correspond à un fichier réél sur le disque mais qui pourrait très bien être virtualisé à coup de rewrite ou même un simple fichier :
zone.php qui contient :
<?php include("massif.php"; ?>
Sachant que l'avenir que je prévois en vue du modèle MVC on aurait un C=controlleur qui s'occupe de prendre tous les appels en entrée (url ne pointant plus sur des fichiers mais sur des "fonctionnalités") et faire le dispatch vers des sous-controlleur qui appelleront les bonnes vues.
deja, il n'y aurait plus que nav. ca simplifie deja ca.
que ce soit dans un fichier, ou dans une "fonctionnalité" (c'est quoi ?) , c'est bon aussi, puisque le code n'est plus en double.
-
- Messages : 387
- Enregistré le : 08 mars 2004, 23:32
Il y a pas eu un commentaire de Claude a un moment ici ? j'ai pas révé ?
Des avis sur cette affaire de polygones ?
Perso, j'aimais bien l'idee de l'affichage des poly d'ordre N à N-2 comme expliquée plus haut .
Sur le plan logique relationnelle, c'est clean donc le code sera clean
En fait, c'est assez proche de la colonne ordre et de son utilisation actuelle.
La ou ca peux merdoyer, c'est quand il y a trop grande confusion entre les poly "geographique" et les "administratif".
Vous en pensez quoi ? avec des pondération bien choisies, on peut avoir un algo simple qui conviendrait a toutes les hiérarchies de polys, meme aux hiérarchies de points.
Fusionnant ainsi en un seul algo, simple, toute les fonctions d'affichage de n'importe quoi.
Des avis sur cette affaire de polygones ?
Perso, j'aimais bien l'idee de l'affichage des poly d'ordre N à N-2 comme expliquée plus haut .
Sur le plan logique relationnelle, c'est clean donc le code sera clean
En fait, c'est assez proche de la colonne ordre et de son utilisation actuelle.
La ou ca peux merdoyer, c'est quand il y a trop grande confusion entre les poly "geographique" et les "administratif".
Vous en pensez quoi ? avec des pondération bien choisies, on peut avoir un algo simple qui conviendrait a toutes les hiérarchies de polys, meme aux hiérarchies de points.
Fusionnant ainsi en un seul algo, simple, toute les fonctions d'affichage de n'importe quoi.
-
- Messages : 4233
- Enregistré le : 16 févr. 2005, 01:00
- Localisation : Isére
Tu n'as pas rêvé... j'y faisais allusion à l'inutilité absolue de la notion de département, voire de région, pour ce qui concerne l'objet principal de WRI : les cabanes et la montagne. On pouvait (?) donc s'économiser du boulot en ne retenant que :yip a écrit :Il y a pas eu un commentaire de Claude a un moment ici ? j'ai pas révé ?
1 les parcs (réserves, etc.)
2 les massifs, découpables à notre guise
3 les points
Incertain quant à l'utilité relative de ma remarque, je l'avais virée.
-
- Messages : 5041
- Enregistré le : 29 févr. 2004, 17:59
- Localisation : Chambéry - Savoie
Je pensais aux deux qui existe déjà :yip a écrit :Bien vu, toute la reflexion est là. Mon avis est que les 2 sont très liés, et dans nos fonctionnalité actuelles, quasi identiques. Un shema relationnel super-carré : A chaque demande son type_poly. Pour un code clair et scalable à chaque demande (en théorie) sans cas particuliers (en théorie)sly a écrit : il arrivera bien un moment où la fonctionnalité qu'on veut dépend non pas du type de polygone, mais de ce qu'on veut en faire
Surement une vue un peu trop carrée.:mrgreen:
Tu pensais a quelle fonctionalités en particulier ?
- Arriver sur une cartes et afficher les points appartenant à un polygone de son choix (avec le contour du-dit polygone) genre : http://www.refuges.info/nav/massif/337/corse/
- Arriver sur une carte et afficher les polygones "principaux" (actuellement les massifs) se trouvant dans le secteur d'un autre polygone. genre : http://www.refuges.info/massifs.php?zone=Pyrenees
J'ai aussi en tête une fonctionnalité que je cherche à réaliser, mais ça sera pour plus tard, mais sans doute que ça peut aussi se grouper : faire en sorte qu'une recherche puisse donner un résultat sur carte en plus du listing classique
Presque tout le temps, mais pas forcément, regarde mon exemple des pyrénées, on peut le vouloir comme une "zone" (vouloir les vallées qui y sont contenues), mais aussi comme un massif (voir les points qui y sont contenus). Pour les bauges, on pourrait vouloir les points, ce qui est aujourd'hui, mais aussi, par exemple, les réserves naturelles qui y sont contenues.suivant le type_poly, on sait exactement ce qu'il faut faire. (en theorie)
Je ne dis pas que c'est la fonctionnalité de fou, mais je me dis que ça serait bête de ne pas faire assez générique et de découvrir plus tard qu'on en a besoin.
Me vient alors une idée, pourquoi ne pas opter pour un paramètre ? du style :
http://www.refuges.info/nav/351?points=oui -> on affiche les points par défaut et l'interface qui permet de cliquer ce que l'on veut (on peut même dire que points=oui par défaut)
http://www.refuges.info/nav/351?type_po ... points=non -> on affiche les polygones de type 4 clicables contenus dans la bbox du polygone 351
Opter pour cette solution, c'est perdre un peu de flexibilité à mon avis. Des fois on va soit en afficher trop, soit pas ceux qu'on veut. Autant laisser la charge de décider au menu qui fera l'appel.Ou alors afficher les polys qui Intersects dont le type est inferieur dans un shema du genre:
J'ai mal utilisé ce mot, je voulais dire que je prévois de déconnecter la notion d'url à celle de fichier à terme.que ce soit dans un fichier, ou dans une "fonctionnalité" (c'est quoi ?) , c'est bon aussi, puisque le code n'est plus en double.
L'idée étant que l'on puisse librement gérer nos URLs et derrière, dans les entrailles de la bête, avoir encore moins de fichiers et factoriser max de choses.
Donc, que l'on pouvait très bien avoir http://www.refuges.info/nav/ et http://www.refuges.info/massif/ si on veut en URL, mais dans le code, ça serait traité par le même controlleur,
Genre en code rapidos :
Code : Tout sélectionner
switch $url
{
case nav: case massif: include("controlleur/carte.php");
case point: include("controlleur/point.php");
default: include("controlleur/erreur_404.php");
}
un poly peut tout faire c'est vrai. tiens une question, chez OSM, comment vous gerez le cas de Paris a la fois departement et ville ? 2 polys redondants ou 1 seul poly avec des analyses d'URL ?sly a écrit :Je pensais aux deux qui existe déjà :
C'est la meme chose ici, je verrai les choses comme pour paris, c'est un cas particulier, ce n'est pas le cas qui a décidé à la découpe du territoire métropolitain. En toute logique, pour éviter l'usine a gaz, ils ont du créer 2 polys ? en tout cas c'est ce que je ferai perso, et ainsi ne pas avoir de cas particulier.
Chez nous, le cas de la Reunion est comparable. Massif zone et departement a la fois, combien de poly ?
Pour les pyrenes ca fait bizarre de le traiter comme un massif, quand on voit que le Taillefer est un massif a part entiere ...
Je dirais qu'on est en plein dans le cas particulier, ou du moins la demande marginale. Si elle etait pas si marginale que ça , c'est qu'on a merdé en faisant des sous-massifs. l'un ou l'autre.
Mais je voulais surtout ton avis sur la facon dons les 2 hiérarchies géo et administratives cohabitent.
Je rejoins un peu Claude, les 2 découpages ont été fait par des personnes differentes, d'un coté l'Etat qui se fout de la montagne comme de la Commune de Paris, et d'un autre coté les Montagnards qui se foutent des frontières. en gros.
Techniquement, je sais que ca se gere en GIS. mais Conceptuellement, comment tu le vois ?
Avec WFS et OL, c'est les doigts dans le nez. c'est meme plus facile avec carte que sans. C'est le listing qui devient plus difficile . lolsly a écrit : J'ai aussi en tête une fonctionnalité que je cherche à réaliser, mais ça sera pour plus tard, mais sans doute que ça peut aussi se grouper : faire en sorte qu'une recherche puisse donner un résultat sur carte en plus du listing classique
C'est vrai, ça peut etre aussi synonyme de merdooillage dans le schema ou dans les découpage.sly a écrit : Des fois on va soit en afficher trop, soit pas ceux qu'on veut
Lis ce que j'ai écris hier. J'ai écrit exactement cela. (sauf que au lieu des bauges c'etait le queyras c'est vrai que les posts sont longs...)sly a écrit : Pour les bauges, on pourrait vouloir les points, ce qui est aujourd'hui, mais aussi, par exemple, les réserves naturelles qui y sont contenues.
en ayant un écart de pondération faible entre les data Refuges et les data Reserve, c'est faisable avec un code 100% générique.
Je pense que ce n'est pas seulement avec de la flexibilité qu'on arrive a ce genre de résultat, mais aussi avec un schema bien réfléchi et bien lié.
(Tu m'aurais dis afficher les reserves sur une eventuelle carte du monde, j'aurais été con )
C'est ce dont on discute depuis le debut, de definir le type d'affichage dans l'URL. de fusionner les pages et differencier l'URL.sly a écrit : http://www.refuges.info/nav/351?points=oui -> on affiche les points par défaut et l'interface qui permet de cliquer ce que l'on veut (on peut même dire que points=oui par défaut)
http://www.refuges.info/nav/351?type_po ... points=non -> on affiche les polygones de type 4 clicables contenus dans la bbox du polygone 351
La on est d'accord et Dominique aussi.
allez un petit retour à l'idéologie:
mais dans ce cas la , il y a 2 données qu'on gère pour rien:
- le type du polygone
- la hiérarchie des data (colonne ordre)
En exagérant, Tout le super boulot que tu a fait avec la BDDentre les tables, la reflexion qui y a conduit, pour avoir aujourd'hui un site qui roule bien, tout ca pour passer des liens entre clefs SQL en URL
351?type_polygones=4&points=non
C'est la que les opinions divergent, moi je baserai tout le code sur ces 2 données là justement... type et hiérarchie
Et en effet, pour moi et en faisant rapide, si notre offre colle pas a la demande => tant pis ... (ou une poignée de checkboxes pour corriger le tir en accessoires)
Ce qui est important, c'est que ca corresponde presque toujours a la demande.
exemple Sur une carte de france de Google map, on voit pas les departementales, les concepteurs ont fait le choix que non.
je comprends que certains voudraient que ce soit possible, il y a des cas très particulier ou ce serait utile.
mais non. il y a peut etre moyen de trafiquer l'URL, j'ai jamais essayé, mais le cas général a primé sur le cas particulier, sans que l'utilisateur en soit particulièrement traumatisé.
Ce que je veux dire, c'est que si on lie les type de données les uns aux autres, on les lies toutes entre elles, points et polys, on les pondère toutes, et il suffit d'en tirer 1 pour avoir sans rien faire ses voisins grace au miracle du SQL, qui seront forcément pertinents, puisqu'ils sont voisins. que ce soit des poly ou des points, ce sera pertinent. c'est un peu le debut de ce qui est codé dans Ordre des polys et des points, et c'est cool.
Au résultat, on arriverait surement a la meme chose puisque je suis daccord avec toi de conserver une possibilité de demandes exceptionnelles.
mais on le prends pas par le meme bout.
Une bonne nouvelle: de la flexibilité, WFS ça en est farçi (et bizarrement c'est ce qui m'embete en ce moment )
Je parie 10 kopecks qu'on a perdu Claude !
-
- Messages : 4233
- Enregistré le : 16 févr. 2005, 01:00
- Localisation : Isére
-
- Messages : 5041
- Enregistré le : 29 févr. 2004, 17:59
- Localisation : Chambéry - Savoie
Note : je suis sur IRC toute la journée si besoin de blablater plus dynamiquement
En langage osm ça va se décrire avec les tags :
name=Paris -> le nom commun
place=city -> c'est une ville
boundary=administrative + admin_level=6 -> c'est aussi un département
Mais lors du traitement des données il est possible pour certains usages que le choix soit de dupliquer ensuite pour un traitement plus simple.
Si on fait une recherche et qu'on choisi : "en belledonne et en isère" ben on aura que la zone d'interconnexion des deux.
L'ordre servant ensuite à la ligne :
Localisation: France > Alpes > Isère > Vercors à nouveau juste pour des questions cosmétiques.
On pourrait très bien avoir :
France > Isère > Alpes > Corrençons > Vercors que ça ne serait pas non plus horrible
ou avoir :
Localisation montagnarde : Alpes > Alpes de l'Ouest > Vercors > plateau du vercors > réserve naturelle du truc bidule
+
Localisation administrative: France > Isère > Corrençon
L'ordre servant alors à nouveau, voire une méta-catégorie "montagnarde ou administrative ou xx"
Exemples concrêts de cas :
- si je veux créer un massif niveau 1.5 : "Alpes du Nord" points ou polygones ?
- si je détaille l'île de la réunion qui ne se détaille pas par massifs, ni pas vallée, mais par... cratères ;-) alors j'aurais besoin de soit voir les points de réunion (tous) soit de voir comme polygone le "cirque de Mafate" pour pouvoir zoomer dessus.
Et puis, comme tu fusionnes nav et massif on finira plus ou moins avec la même interface que l'on visualise des polygones, des points ou les deux à la foi !
La seule décision à prendre sera de choisir un "par défaut" dynamique.
exemples des choix, par défaut :
si France => pas les points mais les polygones d'un cran en dessous (département ?)
si Alpes => pas les points mais les massifs de niveau 2
si belledonne => les points mais aucun autre polygones de la bbox
Tout en gardant la possibilité de l'imposer par l'url et en permettant à l'utilisateur d'appeler le "menu de contrôle carte" pour qu'il puisse imposer son choix par des checkbox
Les deux cas de figure sont possibles dans les faits (même un 3ème hyper relationnel que je ne vais pas détailler ici faute d'intérêt pour wri mais je pourrais t'en parler en long et en large) mais la méthode recommandée c'est un seul polygone avec les attributs indiquant qu'il est à la fois département et ville.yip222 a écrit : un poly peut tout faire c'est vrai. tiens une question, chez OSM, comment vous gerez le cas de Paris a la fois departement et ville ? 2 polys redondants ou 1 seul poly avec des analyses d'URL ?
En langage osm ça va se décrire avec les tags :
name=Paris -> le nom commun
place=city -> c'est une ville
boundary=administrative + admin_level=6 -> c'est aussi un département
Mais lors du traitement des données il est possible pour certains usages que le choix soit de dupliquer ensuite pour un traitement plus simple.
Je dirais 1 seul dans ce cas précis. Car la notion de "zone" dans wri, n'est pas obligatoirement exclusive de la notion d'un autre type de polygone. Un polygone pouvant être utilisé comme zone ou comme massif (ou autre)yip222 a écrit : C'est la meme chose ici, je verrai les choses comme pour paris, c'est un cas particulier, ce n'est pas le cas qui a décidé à la découpe du territoire métropolitain. En toute logique, pour éviter l'usine a gaz, ils ont du créer 2 polys ? en tout cas c'est ce que je ferai perso, et ainsi ne pas avoir de cas particulier.
Chez nous, le cas de la Reunion est comparable. Massif zone et departement a la fois, combien de poly ?
C'est pourquoi je l'ai rangé dans "massif de niveau 1"Pour les pyrenes ca fait bizarre de le traiter comme un massif
Conceptuellement ? : on ne fait pas un puzzle ;-) Peut-importe que belledonne soir à cheval sur la savoie et l'isère, si on demande la "zone" Savoie on verra autant les belledonnes que si on avait demandé l'isère.Mais je voulais surtout ton avis sur la facon dons les 2 hiérarchies géo et administratives cohabitent.
Je rejoins un peu Claude, les 2 découpages ont été fait par des personnes differentes, d'un coté l'Etat qui se fout de la montagne comme de la Commune de Paris, et d'un autre coté les Montagnards qui se foutent des frontières. en gros.
Techniquement, je sais que ca se gere en GIS. mais Conceptuellement, comment tu le vois ?
Si on fait une recherche et qu'on choisi : "en belledonne et en isère" ben on aura que la zone d'interconnexion des deux.
Affiches déjà les réserves naturelles de France ;-)(Tu m'aurais dis afficher les reserves sur une eventuelle carte du monde, j'aurais été con ;) )
Pas forcément pour rien. Le moteur de recherche aura besoin de dire au gars qui cherche de quel type de polygone il s'agit pour ne pas tout mélanger. (aspect visuel)sly a écrit : mais dans ce cas la , il y a 2 données qu'on gère pour rien:
- le type du polygone
- la hiérarchie des data (colonne ordre)
L'ordre servant ensuite à la ligne :
Localisation: France > Alpes > Isère > Vercors à nouveau juste pour des questions cosmétiques.
On pourrait très bien avoir :
France > Isère > Alpes > Corrençons > Vercors que ça ne serait pas non plus horrible
ou avoir :
Localisation montagnarde : Alpes > Alpes de l'Ouest > Vercors > plateau du vercors > réserve naturelle du truc bidule
+
Localisation administrative: France > Isère > Corrençon
L'ordre servant alors à nouveau, voire une méta-catégorie "montagnarde ou administrative ou xx"
C'est très bien aussi d'avoir ça en base pour choisir : "le par défaut" mais ensuite, si on impose un paramètre, alors le par défaut saute et on affiche les points (POINT) sur la France entière si on le veut ou les réserves naturelles de France (POLYGONES) vu que le code sera prêt pour tout gérer.C'est la que les opinions divergent, moi je baserai tout le code sur ces 2 données là justement... type et hiérarchie
Exemples concrêts de cas :
- si je veux créer un massif niveau 1.5 : "Alpes du Nord" points ou polygones ?
- si je détaille l'île de la réunion qui ne se détaille pas par massifs, ni pas vallée, mais par... cratères ;-) alors j'aurais besoin de soit voir les points de réunion (tous) soit de voir comme polygone le "cirque de Mafate" pour pouvoir zoomer dessus.
Je propose alors de faire mieux que google et que l'on puisse donner, à qui veut, la possibilité d'afficher tous les refuges dont le nom contient un z, dont le gérant s'appel jean affiché sur la zone "monde" ;-)googlemaps et départementales (...)
mais non. il y a peut etre moyen de trafiquer l'URL, j'ai jamais essayé, mais le cas général a primé sur le cas particulier, sans que l'utilisateur en soit particulièrement traumatisé.
Et puis, comme tu fusionnes nav et massif on finira plus ou moins avec la même interface que l'on visualise des polygones, des points ou les deux à la foi !
La seule décision à prendre sera de choisir un "par défaut" dynamique.
exemples des choix, par défaut :
si France => pas les points mais les polygones d'un cran en dessous (département ?)
si Alpes => pas les points mais les massifs de niveau 2
si belledonne => les points mais aucun autre polygones de la bbox
Tout en gardant la possibilité de l'imposer par l'url et en permettant à l'utilisateur d'appeler le "menu de contrôle carte" pour qu'il puisse imposer son choix par des checkbox
-
- Messages : 5041
- Enregistré le : 29 févr. 2004, 17:59
- Localisation : Chambéry - Savoie
Suivi
Ma procédure d'importation openstreetmap avance également et j'ai pû rajouter d'un coup 55 réserves naturelles dans les alpes plutôt que une à une comme avant (ce qui, je ne le cache pas, présente avantages et inconvénients).
Plutôt que de refaire le code de wri pour attaquer les tables osm, j'ai opté pour une procédure de migration des tables temporaires de osm2pgsql vers celles de wri, ainsi, ça fonctionne comme avant, sans changer la structure en base et ne prenant bien que ce qui nous intéresse.
Pour l'instant, je ne traite que les réserves naturelles, mais la procédure est assez flexible pour facilement traiter les parc nationaux, les départements et ce qu'on voudra bien ajouter par la suite.
Il faut juste que j'automatise la sélection de zone, pour de pas importer toutes les réserves naturelles du monde, et pour ça, j'aurais en effet besoin de reconnaitre ces zones d'intérêt* dans notre base autrement que par : "car elles sont dans le menu"
* Je veux parler des zones au sens de celles qu'on trouve dans le menu "massifs" qui peuvent aussi bien être des vrais massifs comme alpes ou pyrénnées ou massif central, mais aussi des zones "à notre sauce" comme Alpes du nord, europe, nouvelle Calédonie, ...
Ma procédure d'importation openstreetmap avance également et j'ai pû rajouter d'un coup 55 réserves naturelles dans les alpes plutôt que une à une comme avant (ce qui, je ne le cache pas, présente avantages et inconvénients).
Plutôt que de refaire le code de wri pour attaquer les tables osm, j'ai opté pour une procédure de migration des tables temporaires de osm2pgsql vers celles de wri, ainsi, ça fonctionne comme avant, sans changer la structure en base et ne prenant bien que ce qui nous intéresse.
Pour l'instant, je ne traite que les réserves naturelles, mais la procédure est assez flexible pour facilement traiter les parc nationaux, les départements et ce qu'on voudra bien ajouter par la suite.
Il faut juste que j'automatise la sélection de zone, pour de pas importer toutes les réserves naturelles du monde, et pour ça, j'aurais en effet besoin de reconnaitre ces zones d'intérêt* dans notre base autrement que par : "car elles sont dans le menu"
* Je veux parler des zones au sens de celles qu'on trouve dans le menu "massifs" qui peuvent aussi bien être des vrais massifs comme alpes ou pyrénnées ou massif central, mais aussi des zones "à notre sauce" comme Alpes du nord, europe, nouvelle Calédonie, ...
-
- Messages : 387
- Enregistré le : 08 mars 2004, 23:32
En bricolant sur ma page de test OL, j'ai vu arriver les reserves , là je comprends bien le MULTIPOLYGON ...sly a écrit :Suivi
Ma procédure d'importation openstreetmap avance également et j'ai pû rajouter d'un coup 55 réserves naturelles dans les alpes plutôt que une à une comme avant (ce qui, je ne le cache pas, présente avantages et inconvénients).
En passant, il y a souvent qui sont les unes au dessus des autres, c'est une tendance normale puisque les endroits les plus protégés sont déja dans des Parcs, et ainsi de suite.... la zone de protection intégrale du lac du Lauvitel est au coeur des écrins par exemple.
Je pense qu'on a pas a s'en faire, OL pourra gerer les petits devants et les grands derriere lors de l'affichage. A voir avec l'expert bien entendu
ça peut être l'occasion de les trier.sly a écrit : <....>reconnaitre ces zones d'intérêt* dans notre base<....>
Si tu as besoin d'importer des polygones existants, je peux le faire, sinon il y a un bout de doc dans GIS, avec des procedures a peu près consolidées pour postgres
-
- Messages : 5041
- Enregistré le : 29 févr. 2004, 17:59
- Localisation : Chambéry - Savoie
Pour l'expert OL : si besoin, on peut livrer les réserves (qui s'imbriquent) par un ordre différent, par exemple par surface. On peut aussi considérer que "ça n'est pas si grave" puisque rare seront les internautes à vouloir "les refuges de la zone de protection intégrale du lac du lauvitel" puisque, par loi s'y appliquant, toute construction humaine y est interdite.yip a écrit : En passant, il y a souvent qui sont les unes au dessus des autres, c'est une tendance normale puisque les endroits les plus protégés sont déja dans des Parcs, et ainsi de suite.... la zone de protection intégrale du lac du Lauvitel est au coeur des écrins par exemple.
Je pense qu'on a pas a s'en faire, OL pourra gerer les petits devants et les grands derriere lors de l'affichage. A voir avec l'expert bien entendu ;)
(C'est pas vrai tout le temps, mais très souvent)
Sachant qu'une "zone (d'intérêt)" peut être soit une "zone" au sens de la table type_polygone ou soit un autre polygone, j'envisageais l'idée suivante :yip a écrit :ça peut être l'occasion de les trier.sly a écrit : <....>reconnaitre ces zones d'intérêt* dans notre base<....>
- ajouter dans la table des polygones un champ du style "zone_interet=oui/Null". La manière ensuite de construire les menus du type le menu massif actuel ça donnerait une requête du genre :
select * from polygone where est_aussi_une_zone_interet=oui or id_type_polygone=(celui des zones)
Ou, ne se baser que sur le champ zone_interet=oui (le type "zones" dans la table type_polygone devenant alors la catégories pour laquelle une localisation des points est de peut d'intérêt contrairement aux autres types)
Je suis en train d'améliorer ma méthode d'import, et d'après ce que je vois, tu as déjà construit tout ce qu'il fallait. Ne restera plus qu'a nettoyer (lors de l'import final) la table points_gps pour retirer tout ce qui a rapport aux polygones vu qu' on en a plus besoin.Si tu as besoin d'importer des polygones existants, je peux le faire, sinon il y a un bout de doc dans GIS, avec des procedures a peu près consolidées pour postgres
D'ailleurs, comme je le proposais, maintenant que la table polygones est propre, on peut, je pense, la garder telle quel (ne pas l'écraser par l'import final) et on ne devrait plus avoir besoin de remouliner quoi que ce soit à part du openstreetmap, ce que je suis en train de faire.
-
- Messages : 387
- Enregistré le : 08 mars 2004, 23:32
Oui, on va pas gerer ces cas particuliers coté serveur.sly a écrit : Pour l'expert OL : si besoin, on peut livrer les réserves (qui s'imbriquent) par un ordre différent, par exemple par surface.
On peut aussi considérer que "ça n'est pas si grave" puisque rare seront les internautes à vouloir "les refuges de la zone de protection intégrale du lac du lauvitel" puisque, par loi s'y appliquant, toute construction humaine y est interdite.
(C'est pas vrai tout le temps, mais très souvent)
ca se voit seulement si elles sont cliquables (ce qui est le cas dans mes tests) , et meme dans ces cas-la, a ce que j'en sait OL peut gerer ca tres bien, par area et z-index interne par exemple.
Aie Aie aie ... encore du sur-mesure qui rends la colonne "type" obsolete... je croyais que c'etait exactement le job de massifnivo1 ?sly a écrit : Sachant qu'une "zone (d'intérêt)" peut être soit une "zone" au sens de la table type_polygone ou soit un autre polygone, j'envisageais l'idée suivante :
- ajouter dans la table des polygones un champ du style "zone_interet=oui/Null". La manière ensuite de construire les menus du type le menu massif actuel ça donnerait une requête du genre :
select * from polygone where est_aussi_une_zone_interet=oui or id_type_polygone=(celui des zones)
Ou, ne se baser que sur le champ zone_interet=oui (le type "zones" dans la table type_polygone devenant alors la catégories pour laquelle une localisation des points est de peut d'intérêt contrairement aux autres types)
Si c'est trop le bazar dans le découpage des Massnivo1 , j'en refait, pas de problème
Oui, il y a juste un peu de menage a faire dans le type "zone", je l'ai créé il y a quelques jours en sachant pas trop a quoi servait "massif_niveau1"sly a écrit : D'ailleurs, comme je le proposais, maintenant que la table polygones est propre, on peut, je pense, la garder telle quel (ne pas l'écraser par l'import final) et on ne devrait plus avoir besoin de remouliner quoi que ce soit à part du openstreetmap, ce que je suis en train de faire.
On va surement garder massif_nivo1, donc surement un delete * from zone, et type. (on renomme massifnivo1 en zone ?)
Une fois que tu auras décidé la façon de faire je pourrai basculer certains polys si necessaire.
Sinon je pensais a un truc depuis qu'on a commencé GIS, il ne faudrait pas virer les colonnes GIS des SELECT * pour etre plus propre ?
Puisque maintenant, un ( SELECT * FROM poly WHERE id=big_one LIMIT 1) peut renvoyer un poly à 20 000 points dans sa seule et unique row....
Je sais pas comment ça joue sur les ressources ... Enfin on peut procrastiner, parce que avec les nombreux champs, ca va etre relou de tout re-ecrire .
-
- Messages : 5041
- Enregistré le : 29 févr. 2004, 17:59
- Localisation : Chambéry - Savoie
(Rétrospective pour ne pas perdre de vue "ce qu'on veut faire")yip a écrit :Aie Aie aie ... encore du sur-mesure qui rends la colonne "type" obsolete... je croyais que c'etait exactement le job de massifnivo1 ?sly a écrit : Sachant qu'une "zone (d'intérêt)" peut être soit une "zone" au sens de la table type_polygone ou soit un autre polygone, j'envisageais l'idée suivante :
- ajouter dans la table des polygones un champ du style "zone_interet=oui/Null". La manière ensuite de construire les menus du type le menu massif actuel ça donnerait une requête du genre :
select * from polygone where est_aussi_une_zone_interet=oui or id_type_polygone=(celui des zones)
Ou, ne se baser que sur le champ zone_interet=oui (le type "zones" dans la table type_polygone devenant alors la catégories pour laquelle une localisation des points est de peut d'intérêt contrairement aux autres types)
Pas uniquement, les massifs niveau 1 ont pour but d'indiquer la localisation "globale" sur les fiches des points. Ça n'existait pas avant, mais le re-découpage du massif central et l'arrivée des Pyrénées ont poussé leurs apparitions. Mais les "zones" existaient déjà avant (alpes Nord, Alpes Est, Réunion, etc.)
C'est dominique qui l'a codé (ou toi au tout début) mais le principe était : par défaut, on visualise les massifs des alpes du Nord (raison historique) puis, il a bien fallu indiquer que wri couvraient d'autres "secteurs" et on a, je crois, listés à la main au début, puis, par calcul, des petits bout de vignettes qui pointaient sur les massifs non présents dans les alpes du nord.
C'est vite devenu ingérable, et ont a donc créer des zones (des rectangles) pour moduler l'affichage de la page d'accueil (devenu la page massifs). Les zones n'ayant pas été choisi au pif, on les a choisi car elles ont un sens géologique ou culturel. On s'est donc retrouvé avec une zone "alpes" et une zone "Pyrénées" par exemple, alors que ces massifs existaient dans notre base.
Mais peut-être que je me prend trop la tête à vouloir ré-utiliser d'autres polygones, et qu'un peu de duplication ne sera pas si terrible. On peut donc avoir une zone "alpes" (un rectangle) en plus d'un massif niveau 1 : alpes. (le polygone plus complet)
La contrainte c'est que si on veut lister de manière automatique ce que doit contenir le menu "massif" il faut créer autant de zones qu'il y a de secteur lointain couvert par wri (réunion, andes, etc.)
Ce qui n'est pas insurmontable.
Je change d'avis, tu m'as convaincu ;-) Je propose qu'on tente comme on est, (voir comment régler le cas cité plus haut) et donc on garde massif niveau 1 comme il est, et on ajoute les zones qui ne sont que des rectangles qui serviront à voir les massifs qu'elles contiennent.Oui, il y a juste un peu de menage a faire dans le type "zone", je l'ai créé il y a quelques jours en sachant pas trop a quoi servait "massif_niveau1"
On va surement garder massif_nivo1, donc surement un delete * from zone, et type. (on renomme massifnivo1 en zone ?)
Une fois que tu auras décidé la façon de faire je pourrai basculer certains polys si necessaire.
Pour les points_gps, je pense qu'on s'en fout un peu tellement c'est petit, par contre, pour les polygones, c'est vrai que ça va aller chercher la géométrie à chaque fois qu'on fait un "select *" et ça risque d'être lent pour pas grand chose.Sinon je pensais a un truc depuis qu'on a commencé GIS, il ne faudrait pas virer les colonnes GIS des SELECT * pour etre plus propre ?
Il suffit de centraliser dans une fonction ou un pdo->prepare() qui n'utilise qu'une seule requête avec une condition "$conditions->avec_geom=true;" en option qui activera la récupération de la géométriePuisque maintenant, un ( SELECT * FROM poly WHERE id=big_one LIMIT 1) peut renvoyer un poly à 20 000 points dans sa seule et unique row....
Je sais pas comment ça joue sur les ressources ... Enfin on peut procrastiner, parce que avec les nombreux champs, ca va etre relou de tout re-ecrire ;).