Trong R
đọc chúng với x <- gdal::readOGR(datasource, layername)
từ bất kỳ định dạng nào
sử dụng as(x, "class")
sự ép buộc để chuyển đổi từ đa giác sang ranh giới dòng của chúng thành các điểm thành phần của chúng (và một cách cẩn thận, ghi lại các đối tượng và ID vòng)
Sử dụng các hàm tóm tắt theo cách tiêu chuẩn cho X / Y được nhóm theo ID đa giác
Thí dụ:
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)
Bạn đề cập đến "phạm vi vĩ độ" nhưng không chỉ định nếu tọa độ của bạn nằm trong hệ tọa độ dự kiến, nếu chúng là bạn cần đảm bảo bạn không dự đoán và phân loại theo vĩ độ (không chỉ Y) nếu đó là trường hợp.
Tôi đặc biệt khuyên bạn nên kiểm tra dplyr
tóm tắt cuối cùng, các công cụ tích hợp của R rất mạnh mẽ nhưng mệt mỏi trong nhận thức muộn màng. Thật không may với sp
bạn cần phải chuyển đổi thủ công giữa các mảng tọa độ và data.frame
hình thành khá thường xuyên để có được các loại câu trả lời này, nhưng tất cả đều có thể thực hiện được.
Cuối cùng, nếu đây thực sự là những gì bạn đang có sau đó thì sẽ không mất chút thời gian nào, miễn là tài nguyên bộ nhớ ảo của bạn phù hợp với tập dữ liệu bạn có, để đọc tất cả cùng một lúc và thực hiện công việc trong một bước như thế này