Suite

Comment obtenir la ligne médiane entre deux lignes

Comment obtenir la ligne médiane entre deux lignes


Où est la trace d'un navire lorsqu'il navigue toujours au centre de la Manche entre les côtes de la Grande-Bretagne et de la France ?

  1. J'ai commencé avec 2 chaînes de lignes et j'ai créé beaucoup de points sur la chaîne de lignes avec une requête postgis.
  2. Après cela, j'ai créé une matrice de distance avec Raster/Analyse/Proximité dans QGIS.
  3. Enfin, j'ai créé un raster d'aspect à partir du raster en sortie.

La ligne rouge est-elle vraiment la "ligne médiane" entre ces deux lignes ?

Existe-t-il un moyen plus efficace de procéder?


Si vous pouvez convertir votre zone où vous voulez que l'axe médian en une géométrie surfacique, vous pouvez essayer le ST_ApproximateMedialAxis fonction, qui s'appuie sur le squelette droit de la géométrie. Je dirais que c'est plus efficace, car cela signifie que vous n'avez plus à créer un ensemble de points intermédiaires ou même à quitter la géométrie vectorielle ou PostGIS.


Oui, la solution que vous obtenez est bien celle que vous recherchez - une approximation de l'axe médian du canal, jusqu'à la résolution du raster utilisé. Pour des raisons pratiques, cependant, j'utiliserais la solution de Richard car vous utilisez déjà PostGIS. La bibliothèque SFCGAL sur laquelle il s'appuie est robuste et rapide.

Si vous deviez fournir une solution non basée sur PostGIS, je suggérerais de passer par la définition de l'axe médian :

  • Utilisez les points de rivage générés pour créer un diagramme de Voronoï (Créer des polygones de Thiessen dans ArcGIS).
  • Convertissez les bordures du polygone des cellules de Voronoi en lignes.
  • Supprimez toutes les lignes qui coupent la masse continentale.

Ce que vous obtenez est une ligne dentelée, une autre approximation d'un axe médian, dont la précision est déterminée par la densité des points de rivage générés.