J'ai un fond de carte VectorTile que j'optimise (en travaillant sur la réduction de la taille des carreaux individuels), le gros morceau de la taille des carreaux est les données routières (géométrie et attributs). Je travaille à simplifier les géométries de route individuelles en fonction du niveau de zoom et à agréger également les routes en fonction des niveaux de zoom.
Les routes sont stockées dans un tableau Postgis (tableau individuel pour chaque niveau de zoom) et je souhaite agréger les routes en fonction du niveau de zoom auquel elles seront affichées. Par exemple, dans le tableau du niveau de zoom 5, je souhaite agréger les routes situées à une certaine distance les unes des autres et créer une seule ligne pour les segments de route:
Puisqu'il n'est pas possible de distinguer des routes individuelles à ce niveau de zoom:
Comment puis-je agréger les géométries de route en fonction de la distance entre les segments de route?
PS: je travaille sur PostGIS et QGIS sur Linux, mais je suis ouvert aux solutions utilisant n'importe quelle plateforme ou technologie Open Source
la source
Réponses:
Vous pouvez essayer de chercher dans cette option de système d'exploitation, Skeletron , il:
Certaines dépendances sont requises:
Dépendances requises:
- binaire qhull ( http://www.qhull.org )
- shapely 1.2+ ( http://pypi.python.org/pypi/Shapely )
- pyproj ( http://code.google.com/p / pyproj )
- networkx 1.5+ ( http://networkx.lanl.gov )
- StreetNames 0.1+ ( https://github.com/nvkelso/map-label-style-manual/tree/master/tools/street_names )
Remarque: Il s'agit d'un ancien modèle / outil qui peut être appliqué, simplement comme référence à explorer.
la source
ArcGIS est le plus simple s'il est du tout une option. Je sais que l'OP spécifie le système d'exploitation, mais je le mentionne car les options du système d'exploitation ne semblent tout simplement pas très utiles par rapport à: http://resources.arcgis.com/en/help/main/10.1/index.html#/Merge_Divided_Roads/00700000000w000000 /
Les réponses à cette question donnent quelques options Open Source: Comment puis-je fusionner / réduire des lignes de route à proximité et parallèles (par exemple une route à deux voies) en une seule ligne?
Si vous codez, vous pouvez calculer la position moyenne des coordonnées sur une base de sommets, sinon:
Il ne semble pas non plus y avoir un bon système d'exploitation équivalent à l'outil ArcGIS 'Polygon to Center line'. Je pourrais suggérer:
une. Créez un diagramme de voronoi et prenez le squelette.
b. Créer un raster de distance euclidienne et extraire la valeur centrale et convertir en ligne
... probablement d'autres aussi.
Enfin, en fonction de l'échelle et de l'application .. il peut également être utile de supprimer l'une des deux lignes - l'imprécision importera-t-elle?
la source