Je cherche un moyen de créer des tampons dits unilatéraux ou des lignes parallèles dans PostGIS. Exemple: 1. tampon, 2. d'un côté, 3. des deux côtés
J'ai trouvé une discussion sur la liste de diffusion de 2009 et des informations sur sa mise en œuvre dans GEOS , mais rien sur l'état actuel de PostGIS.
Si la fonction n'est pas encore implémentée, connaissez-vous des solutions? Est-il possible de couper un côté d'un tampon normal?
Réponses:
Les tampons unilatéraux appropriés étaient censés avoir atterri en 1.5 , mais il me semble que, même si les styles ont atterri, le côté n'a pas réussi. Il existe cependant un patchset actuel qui expose
GEOSSingleSidedBuffer
et exécute le tampon unilatéral comme prévu , sous le nomST_OffsetCurve
; voir plus de détails dans le ticket # 413 . Utilisé:la source
Cet exemple crée deux polygones de chaque côté d'une chaîne de lignes. Il nécessite PostGIS 1.5 ou supérieur. Je ne sais pas dans quelle mesure il se débrouillera avec les lignes qui se croisent.
Il génère:
Le code fonctionne de la manière suivante:
Cela pourrait être amélioré pour faire face aux lignes auto-croisantes à l'avenir.
la source
Cette modification crée deux chaînes de lignes parallèles. Il nécessite PostGIS 1.5 ou supérieur.
géométrie ou poids requis et distance dans le tampon
-------------- RÉSULTATS
la source
Parce que je ne peux toujours pas commenter ici, j'ajoute cette réponse
SCW donne la meilleure réponse,
Mais ressemble au changement de fonction
http://postgis.refractions.net/docs/ST_OffsetCurve.html
Maintenant, le
'right'
paramètre n'est plus nécessaire. L'utilisation d'une distance positive créera le côté gauche et une distance négative créera le côté droitAussi aucun patch nécessaire avec mes postgis
la source