Saya sekarang mencoba untuk memplot peta Kanada di ggplot2 dan saya menemukan bahwa garis bujur dan garis lintang tidak ditampilkan dengan benar di peta. Apakah ada solusi? Terima kasih banyak.

Arcgis shapfile diunduh dari https://www.arcgis.com/home/ item.html?id=dcbcdf86939548af81efbd2d732336db

library(ggplot2)
library(rgdal)
countries<-readOGR("Canada.shp", layer="Canada")
ggplot()+geom_polygon(data=countries,aes(x=long,y=lat,group=group),fill='white',color = "black")

enter image description here

Bujur di peta harus seperti 110W, 100W, 90W. Dan garis lintang di peta harus seperti 50N, 60N, 70N. Namun, tidak demikian untuk saat ini.

3
Yang Yang 21 Juli 2016, 00:40

1 menjawab

Jawaban Terbaik

Koordinat tidak memanjang:

> summary(countries)
Object of class SpatialPolygonsDataFrame
Coordinates:
         min     max
x -2314694.5 3093025
y   321591.9 4811137
Is projected: TRUE 
proj4string :
[+proj=aea +lat_1=50 +lat_2=70 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0
+datum=NAD83 +units=m +no_defs +ellps=GRS80 +towgs84=0,0,0]

Mereka adalah "aea", yaitu Albers Equal Area dengan parameter yang diberikan.

Untuk mengonversi ke lat-long, gunakan spTransform dengan proyeksi "epsg:4326" untuk mengonversi ke WGS84 lat-long, seperti yang digunakan dalam sistem GPS.

> ca = spTransform(countries, "+init=epsg:4326")
> summary(ca)
Object of class SpatialPolygonsDataFrame
Coordinates:
         min       max
x -141.00301 -52.62028
y   41.91332  83.10832
6
Spacedman 21 Juli 2016, 01:36
Terima kasih banyak atas balasan Anda. Saya tidak terbiasa dengan gambar peta dan saya ingin tahu apakah saya dapat menggunakan datum=NAD83 sambil mempertahankan metode proyeksi sebagai epsg:4326. Karena datum=NAD83 adalah data yang lebih baik untuk Kanada. Terima kasih banyak.
 – 
Yang Yang
21 Juli 2016, 20:34
Datum bukanlah proyeksi, dan datum NAD83 dan WGS84 hanya berbeda beberapa meter di seluruh Kanada. Mengapa tidak membiarkan mereka dalam proyeksi asli, yang tampaknya telah disiapkan untuk Kanada. Jika Anda ingin menggambar garis lintang dan panjang, Anda bisa melakukannya, tetapi itu akan menjadi kurva.
 – 
Spacedman
21 Juli 2016, 21:32
Terima kasih atas balasan Anda yang baik.
 – 
Yang Yang
21 Juli 2016, 22:06
Halo, maaf merepotkan Anda lagi. Saya bertanya-tanya bagaimana saya bisa menggambar garis lintang dan bujur (kurva tidak apa-apa) di peta ini. Terima kasih banyak.
 – 
Yang Yang
22 Juli 2016, 19:35