Je voudrais calculer les coordonnées latidudinales maximales, médianes et minimales pour un grand ensemble de polygones, en utilisant QGIS ou R. Donc, les points les plus hauts et les plus bas atteints par chaque polygone sur une plage latidudinale. Les coordonnées centrales sont faciles à faire, mais la conversion des polygones en points et l'utilisation d'une matrice de distance dans QGIS font planter mon ordinateur. Existe-t-il une manière plus efficace de procéder?
Il a été demandé sous différentes formes ici, mais soit 1. Pas clair 2. obsolète, je pense que la version est sage ou 3. plante sur mon PC car j'ai environ 2000 polygones.
Dans QGIS, vous pouvez utiliser l' outil Polygone de l'étendue de la couche ... de la barre d'outils ( Vector> Outils de recherche> Polygone de l'étendue de la couche ... ).
Cela génère essentiellement une couche de boîte englobante pour chaque entité (si vous sélectionnez l'option) avec des champs contenant les coordonnées des max, centre et min de X et Y ainsi que quelques autres statistiques:
la source
Dans R
les lire avec à
x <- gdal::readOGR(datasource, layername)
partir de n'importe quel formatutiliser la
as(x, "class")
coercition pour convertir des polygones à leurs limites de ligne en leurs points de composants (et enregistrer facilement les ID d'objet et d'anneau)Utilisez les fonctions récapitulatives de la manière standard pour les X / Y regroupés par ID de polygone
Exemple:
Vous mentionnez «plage de latitude» mais ne spécifiez pas si vos coordonnées sont dans un système de coordonnées projeté, si elles le sont, vous devez vous assurer de ne pas projeter et de classer par latitude (pas seulement Y) si tel est le cas.
Je vous recommande fortement de vérifier
dplyr
pour le résumé final, les outils intégrés de R sont très puissants mais fastidieux avec le recul. Malheureusement,sp
vous devez convertir manuellement entre des tableaux de coordonnées etdata.frame
former assez régulièrement pour obtenir ce type de réponses, mais tout est faisable.Enfin, si c'est réellement ce que vous recherchez, cela ne prendra pas de temps du tout, tant que vos ressources de mémoire virtuelle correspondent à l'ensemble de données que vous avez, pour tout lire en même temps et faire le travail en un étape comme ça.
la source
Dans QGIS, vous pouvez utiliser des expressions pour ajouter des champs à l'aide de la calculatrice de champs
Les expressions suivantes vous donneront les coordonnées min et max du polygone
Pour les coordonnées du centre, vous pouvez utiliser
la source