Dans R
les lire avec à x <- gdal::readOGR(datasource, layername)
partir de n'importe quel format
utiliser 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:
library(rgdal)
dsn <- system.file("vectors/ps_cant_31.MIF", package = "rgdal")[1]
ogrInfo(dsn=dsn, layer="ps_cant_31")
ps_cant_31 <- readOGR(dsn=dsn, layer="ps_cant_31")
## cast to lines and then to points (creates columns Lines.NR, Lines.ID, Line.NR to identify pieces)
p <- as(as(ps_cant_31, "SpatialLinesDataFrame"), "SpatialPointsDataFrame")
coords <- coordinates(p)
## see that Lines.NR groups your original polygons (nrow(ps_cant_31))
#spplot(p["Lines.NR"])
## summarize the Y-coordinate into groups defined by original polygon object
tapply(coords[,2], p$Lines.NR, median)
tapply(coords[,2], p$Lines.NR, max)
tapply(coords[,2], p$Lines.NR, min)
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 et data.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.