Построение данных ГИС в R - PullRequest
0 голосов
/ 10 октября 2018

Я новичок в картографировании ГИС в R. Я пытаюсь построить карту Вьетнама и «заполнить» ее, скажем, номерами преступлений или чем-то еще.Мой код выглядит следующим образом:

st <- c('HCMC', 'Hanoi','Danang', 'Thanh Hoa', 'An Giang')
lat <- c(10.78, 21.02, 16.06, 19.82, 10.38)
long <- c(106.69, 105.83, 108.24, 105.79, 105.42)
ba <- c(96,99,88,56,7)
bls <- c(0.85, 1.63, 1.09, 0.61, 0.20)
vn <- data.frame(st,lat, long, ba, bls)

st - имя штата, lat - широта, long - долгота, ba, bls - другие атрибуты.Теперь я преобразовал файл данных в шейп-файл для дальнейшей обработки, используя код ниже

WGScoor <-  vn
coordinates(WGScoor) = ~long+lat
proj4string(WGScoor)<- CRS("+proj=longlat +datum=WGS84")
LLcoor <- spTransform(WGScoor,CRS("+proj=longlat"))
raster::shapefile(LLcoor, "MyShapefile.shp")

, затем я снова читаю в шейп-файле, используя readOGR

library(rgdal)
viet <- readOGR("MyShapefile.dbf")

, и затем строю график, используякод ниже

qtm(viet, fill="ba", fill.style="quantile", 
    fill.n=4,
    fill.palette="Greens",
    legend.text.size = 0.5,
    layout.legend.position = c("right", "bottom"))

Я получаю вывод.Но это просто 5 очков в коробке, что-то вроде.Я не получаю это на карте Вьетнама.

1 Ответ

0 голосов
/ 10 октября 2018

При чтении шейп-файлов вы должны ссылаться на файл, заканчивающийся на .shp.Вот почему readOGR() не выдал правильный объект.

Кажется, вы можете прочитать шейп-файл, используя ту же функцию, которую вы использовали для записи шейп-файла:

viet <- raster::shapefile("MyShapefile.shp")

Должно работать нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...