แปลงพิกัดจาก readShapePoly ใน R เป็น long-lat พิกัด


9

ฉันกำลังพยายามหาเซนทรอยด์บางส่วนของไฟล์รูปร่างสำหรับเทศบาลเดนมาร์กและหลังจากนั้นหาเวลาขับรถระหว่างพวกเขา ผมใช้RของreadShapePolyฟังก์ชั่นจากmaptoolsรวมกับgCentroidฟังก์ชั่นจากrgeosและผลงานทุกอย่าง อย่างไรก็ตามฉันได้รับ spatialpoints เช่น

SpatialPoints:
     x       y
1 571860.7 6225016
Coordinate Reference System (CRS) arguments: NA 

ซึ่งไม่ใช่สิ่งที่ชัดเจนที่ฉันสามารถใช้ใน Google เพื่อคว้าเวลาเดินทาง ฉันกำลังมองหาวิธีการแปลงตัวเลขเหล่านี้เป็นลองจิจูดละติจูด แต่ไม่มีความคิดวิธี

เมื่อฉันอ่านข้อมูลโดยใช้readOGRจากrgdalห้องสมุดฉันได้รับพิกัดเดียวกัน แต่มันบอกฉันเกี่ยวกับสิ่งที่ฉันถือว่าเป็นเส้นโครง (แต่พิกัดเหมือนกัน)

Slot "proj4string":
CRS arguments:
+proj=utm +zone=32 +ellps=intl +units=m +no_defs

ตัวอย่างที่ทำซ้ำได้: ฉันใส่ข้อมูลสำหรับตัวอย่างที่นี่: https://github.com/sebastianbarfort/shapefiles

สิ่งนี้ควรทำให้เกิดปัญหาซ้ำ:

library(maptools)
library(rgdal)
library(rgeos)

map = readShapePoly("~/Downloads/shapefiles-master/kommuner1983.shp")
centroid = gCentroid(map)
centroid

คำตอบ:


14

ใช้spTransformเพื่อแปลงพิกัดเป็น WGS84:

library("rgdal")
library("rgeos")

map <- readOGR(".", "kommuner1983")
map_wgs84 <- spTransform(map, CRS("+proj=longlat +datum=WGS84"))
plot(map_wgs84, axes=TRUE)

พล็อต

gCentroid(map_wgs84)
# SpatialPoints:
#       x     y
# 1 10.05 55.96
# Coordinate Reference System (CRS) arguments: +proj=longlat +datum=WGS84
# +ellps=WGS84 +towgs84=0,0,0 

rgdal::readOGRสามารถอ่านข้อมูลการฉายภาพได้โดยอัตโนมัติ maptoolsฟังก์ชั่นไม่ว่าจะอ่านหรือเขียนข้อมูลเส้นโครงปล่อยให้คุณจัดการรายละเอียดด้วยตนเอง


นี่คือสิ่งที่ฉันกำลังมองหา
sBarfort

@sBarfort หากคำตอบนั้นสามารถตอบคำถามของคุณได้คุณอาจต้องยอมรับมัน ด้วยวิธีนี้คนอื่นจะรู้ว่ามันเป็นคำตอบที่ถูกต้อง
RK

คุณไม่มีการควบคุมเหมือนกับ gCentroid แต่ SpatialPolygons ถือ centroid ในวัตถุ คุณสามารถดึงมันมาเป็นเมทริกซ์โดยใช้: พิกัด (map_wgs84)
เจฟฟรีย์อีแวนส์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.