У меня проблемы с поиском расстояния между полигонами и пространственными точками.Я пытаюсь измерить расстояние между районами (полигоны) и бывшими оловянными шахтами (пространственные точки).Я подозреваю, что, возможно, что-то не так с проекцией.Кажется, я могу рассчитать расстояние между районами, но не для районов и шахт.
#Open file
mapping<- readOGR(dsn="C:/Users/noble/OneDrive - London School of Economics/LSE/EC465/Extended Essay/Stack Exchange Question/gadm2.Peninsula.dbf")
#Define the districts
Kinta <- mapping[mapping@data$NAME_1 == "Perak" &
mapping@data$NAME_2 == "Kinta", ]
Gombak <- mapping[mapping@data$NAME_1 == "Selangor" &
mapping@data$NAME_2 == "Gombak", ]
#Set a projection
EPSG.3375<-"+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257964666666 +k=0.99984 +x_0=804671 +y_0=0 +ellps=GRS80 +units=m +no_defs"
Gombak.km<-spTransform(Gombak,CRS(EPSG.3375))
Kinta.km<-spTransform(Kinta,CRS(EPSG.3375))
#Calculate the distance
gDistance(Kinta.km, Gombak.km, byid=TRUE)
#Open data on tin mines and define as spatial points
tin.01<-read.csv("C:/Users/noble/OneDrive - London School of Economics/LSE/EC465/Extended Essay/Stack Exchange Question/Tin Mine Location_01.csv")
coordinates(tin.01)<-8:9
proj4string(tin.01) <- CRS("+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257964666666 +k=0.99984 +x_0=804671 +y_0=0 +ellps=GRS80 +units=m +no_defs")
#Find distance between district and mines
gDistance(Kinta.km,tin.01,byid=TRUE)
Мой вывод для расстояния между полигонами выглядит правильно:
> gDistance(Kinta.km, Gombak.km, byid=TRUE)
59
71 100676
Но мой вывод для расстояния между районами и минами определенно неверен:
> gDistance(Kinta.km,tin.01,byid=TRUE)
59
1 661153.5
2 661152.6
3 661153.0
4 661152.7
5 661151.8
6 661152.9
7 661153.1
8 661153.3
9 661153.2
Что я собираюсь сделать, это: 1) рассчитать расстояние между всеми районами Малайзии со всеми бывшими оловянными копями;и 2) извлеките расстояние от ближайшей жестяной шахты до каждого района.
Вот ссылка на данные, которые я использую.Я использую данные GADM для районных полигонов, и я сам вручную кодировал местоположение исторических жестяных шахт.Буду признателен за оказанную помощь.Спасибо.