In R.
Lesen Sie sie mit x <- gdal::readOGR(datasource, layername)aus nahezu jedem Format
Verwenden Sie as(x, "class")Zwang, um von Polygonen zu ihren Liniengrenzen zu ihren Komponentenpunkten zu konvertieren (und zeichnen Sie die Objekt- und Ring-IDs auf einfache Weise auf).
Verwenden Sie Zusammenfassungsfunktionen in der Standardmethode für das nach Polygon-ID gruppierte X / Y.
Beispiel:
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)
Sie erwähnen "Breitengradbereich", geben jedoch nicht an, ob sich Ihre Koordinaten in einem projizierten Koordinatensystem befinden. Wenn dies der Fall ist, müssen Sie sicherstellen, dass Sie die Projektion aufheben und nach Breitengrad (nicht nur Y) klassifizieren, wenn dies der Fall ist.
Ich würde sehr Sie überprüfen empfehlen dplyrfür die endgültige Zusammenfassungs, R integrierten Tools sind sehr leistungsfähig , aber ermüdend im Nachhinein. Leider müssen spSie manuell zwischen Koordinatenfeldern konvertieren und data.frameziemlich routinemäßig bilden, um diese Art von Antworten zu erhalten, aber es ist alles machbar.
Wenn dies tatsächlich das ist, wonach Sie suchen, dauert es nicht lange, bis Ihre virtuellen Speicherressourcen mit dem Datensatz übereinstimmen, den Sie haben, um alles auf einmal einzulesen und die Arbeit in einem zu erledigen Schritt so.