2016-01-23 5 views
0

У меня есть следующие два шейп:Shapefile: XY координат и долгота/широта координат

> summary(precincts1) 

Object of class SpatialPolygonsDataFrame 

Coordinates: 
     min  max 
x -74.25545 -73.70002 
y 40.49613 40.91540 

    Precinct  Shape_Leng  Shape_Area  
Min. : 1.00 Min. : 17083 Min. : 15286897 
1st Qu.: 31.50 1st Qu.: 29900 1st Qu.: 37593804 
Median : 64.50 Median : 46887 Median : 65891025 
Mean : 62.57 Mean : 65720 Mean :111231564 
3rd Qu.: 95.50 3rd Qu.: 76375 3rd Qu.:133644443 
Max. :123.00 Max. :309518 Max. :781725787 

и

> summary(bnd_nhd) 

Object of class SpatialPolygonsDataFrame 

Coordinates: 
     min  max 
x 871512.3 912850.5 
y 982994.4 1070956.9 

    SHAPE_area   SHAPE_len  
Min. : 3173813 Min. : 7879 
1st Qu.: 9687122 1st Qu.:13514 
Median :14363449 Median :17044 
Mean :19674314 Mean :19516 
3rd Qu.:27161251 3rd Qu.:23821 
Max. :68101106 Max. :49269 

Их системы координат различны. Я могу наложить фигуры на «участки1» на карте с помощью листовки, но я не могу сделать то же самое для «bnd_nhd». Я использую блестящие, maptools и листовки. Как преобразовать шейп-файл или изменить настройку на карте, чтобы я мог наложить карту на «bnd_nhd»?

+1

Вы должны преобразовать эти координаты в единую систему координат, которая также работает на листовке, посмотрите на это: http://stackoverflow.com/ Вопросы/33045388/projecting-my-shapefile-data-on-leaflet-map-using-r – chrki

+0

Я пробовал следующий код:> bnd_nhd <- readShapeSpatial ("/ Users/Ibuki/Sample Shiny App/St. Louis_nbrhds_wards/BND_Nhd88_cw") > proj4string (bnd_nhd) <- CRS ("+ init = epsg: 32610") > bnd_nhd_latlon <- spTransform (bnd_nhd , CRS ("+ init = epsg: 4326")) – Ibuki

+0

Хотя трансферация прошла успешно, полигоны находятся в неправильных местах. И я не знаю, как правильно проектировать файл и правильно его преобразовать. Это файл формы ESRI в Сент-Луисе, МО, полученный из http://data.stlouis-mo.gov/downloads.cfm – Ibuki

ответ

3

Это должно работать:

library("rgdal") 
library("leaflet") 

bnd_nhd <- readOGR("C:/data/BND_Nhd88_cw.shp", 
        layer="BND_Nhd88_cw") 
pol_wrd <- readOGR("C:/data/POL_WRD_2010_Prec.shp", 
        layer="POL_WRD_2010_Prec") 

bnd_nhd4326 <- spTransform(bnd_nhd, CRS("+init=epsg:4326")) 
pol_wrd4326 <- spTransform(pol_wrd, CRS("+init=epsg:4326")) 

m <- leaflet() %>% 
    addTiles() %>% 
    addPolygons(data=bnd_nhd4326, weight=2, color="red", group="bnd_nhd") %>% 
    addPolygons(data=pol_wrd4326, weight=2, color="blue", group="pol_wrd") %>% 
    addLayersControl(
    overlayGroups = c("bnd_nhd", "pol_wrd"), 
    options = layersControlOptions(collapsed = FALSE) 
) 
m 

R Leaflet result

+0

спасибо! Я попытался, но я продолжал получать следующую ошибку. Вы могли бы рассказать о проблеме здесь? – Ibuki

+0

> bnd_nhd <- readOGR ("/ Users/Ibuki/Sample Shiny App/St. Louis_nbrhds_wards/BND_Nhd88_cw.shp", layer = "BND_NHD88_cw") Ошибка в ogrInfo (dsn = dsn, layer = layer, encoding = encoding, use_iconv = use_iconv,: слой не найден – Ibuki

+0

И эта ошибка, а – Ibuki

Смежные вопросы