J'essaie de créer une carte, avec des données indiquant certains vols, et je veux utiliser Great Circle Arcs, pour connecter la source et les destinations.
Fondamentalement, je veux faire quelque chose de similaire à la célèbre carte Facebook:
J'ai utilisé les fonctions données dans cet article: https://gis.stackexchange.com/a/5205/442 , (c'est-à-dire cet article de blog: http://anitagraser.com/2011/08/20/visualizing-global-connections / ) et je pourrais obtenir des lignes, mais ils traversent la ligne de date internationale, ainsi que des tas, aux pôles:
@underdark, a mentionné dans le blog lié que ces lignes doivent être divisées, mais je ne sais pas comment les diviser automatiquement dans PostGIS.
De plus, le regroupement des lignes près des pôles doit également être résolu.
Comment est-ce que je fais ces deux, quand j'ai les emplacements de point pour le début et la fin de ces vols?
la source
Réponses:
Les principes de ce billet de blog sont transférés vers PostGIS à usage général.
http://blog.cartodb.com/jets-and-datelines/
Fondamentalement, utilisez
ST_Segmentize
sur la géographie et un peu de magie pour trancher les lignes de croisement des lignes de date.la source
Vous pouvez calculer les géodésiques. En disant que vous voulez montrer la géodésique de A à B, vous pouvez d'abord calculer la distance et l'azimut de A à B (problème géodésique inverse), puis calculer les points de A à plusieurs points entre A et B (problème géodésique direct). J'ai ajouté un script simple en Python en utilisant GeographicLib juste en sortant les trucs dans GeoJSON:
Le résultat est la véritable géodésique entre les points du WGS-84. Bien sûr, vous pouvez ensuite transformer les coordonnées en n'importe quelle projection dont vous avez besoin. Le résultat visualisé sur geojson.io ressemble à ceci:
la source