Voici un défi intéressant: j'ai besoin d'incorporer un tableau dans une disposition de carte afin que les enregistrements dans le tableau soient triés en fonction de leur position géographique sur le terrain. Par exemple, dans une carte du nord au sommet, l'entité la plus au nord (les points dans ce cas) doit être le premier enregistrement et la plus au sud le dernier.
La composition de la carte est dans ArcGIS, mais je suis prêt à utiliser gdal / ogr, qgis, etc. pour le tri des tables si besoin est.
Pour étendre cette question au-delà de mon cas d'utilisation immédiat et la rendre ainsi plus utile à la communauté, une solution robuste permettrait de choisir d'autres types géographiques, tels que l' ouest vers l'est ou l' intérieur vers l'extérieur .
la source
Réponses:
Pour trier dans le sens d'un palier de a degrés du nord, précalculer le vecteur de direction de l' unité en tant que (sin (a), cos (a)).
Avec un calcul de champ, obtenez les coordonnées (projetées) [X] et [Y] des entités (utilisez leurs centres de gravité ou autre pour les entités non ponctuelles) si elles ne sont pas déjà disponibles et calculez un nouveau champ égal à la distance le long de la relèvement, donné par le produit scalaire du vecteur direction avec les coordonnées:
Triez le tableau sur [z] dans l'ordre croissant.
Par exemple, pour un tri du nord au sud, le relèvement est de 180 degrés, v = (sin (180), cos (180)) = (0, -1), et le tri résultant est donc sur - [Y], qui organise les enregistrements du plus grand [Y] (premier) au plus petit [Y] (dernier), exactement comme prévu.
Un tri "intérieur vers extérieur" pourrait signifier beaucoup de choses, mais une interprétation est que le tri devrait être basé sur la distance par rapport à un emplacement central. Une solution similaire s'applique, en utilisant le théorème de Pythagore pour calculer la distance (au carré) d'un point fixe. (L'application de la racine carrée n'est pas nécessaire car elle ne modifie pas l'ordre de tri.)
Un ordre de tri plus fantaisiste est expliqué et illustré dans «Carte unidimensionnelle du monde».
la source
Pour exprimer la réponse de whuber en termes d'utilisation des outils, voici une implémentation simple du cas d'utilisation Nord-Sud, Est-Ouest lors de l'utilisation de données ponctuelles dans Arcgis:
X
etY
(ouLat
etLong
) à la table attributaire, Calculer la géométriecourtoisie de l'article technique d'Esri HowTo: Trier les caractéristiques Nord / Sud ou Est / Ouest pour l'exportation
Comment changer l'ordre des fonctionnalités dans un fichier de formes? propose des solutions pour effectuer la partie de tri de table pour Arcgis et Qgis sans avoir besoin d'exporter vers un programme externe (bien que vous ayez encore besoin de dupliquer la table / classe d'entités), et Trier les enregistrements de fichiers de formes sur l'attribut pour mettre à jour le nouveau champ de classement à l'aide de Python? a une méthode arcpy.
la source
Comme l'a commenté @klewis :
L' aide de l'outil de tri , qui nécessite une licence de niveau avancé, décrit les éléments suivants
spatial_sort_method
:la source