簡體   English   中英

在LON / LAT中使用Leaflet> NULL值讀取readOGR點shapefile和圖

[英]readOGR point shapefile and plot using Leaflet > NULL values in LON/LAT

有人可以建議我如何進行以下操作:我有一個荷蘭(Urk)鎮的ESRI shapefile,以及用標記在地圖上繪制每個房屋編號的方法。 Leaflet提供了一個錯誤,指出文件具有NULL值,但我似乎找不到它們。

# what does this file look like
> ogrInfo("WGS1984_Urk/nummer.shp", "nummer")

Source: "WGS1984_Urk/nummer.shp", layer: "nummer"
Driver: ESRI Shapefile; number of rows: 7792 
Feature type: wkbPoint with 2 dimensions
Extent: (5.591987 52.64994) - (170059.4 518956.2)
LDID: 87 
Number of fields: 18 
         name type length typeName
1   NUMMER_ID    4     16   String
2  STRAATNAAM    4     80   String
3  HUISNUMMER    0      8  Integer
......

# Read ESRI shapefiles into R
> huisnummers_Urk <-readOGR(dsn="WGS1984_Urk/nummer.shp", 
                          layer="nummer", verbose = TRUE, 
                          dropNULLGeometries= TRUE,
                          p4s = "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")


# Info from spdplyr package
> huisnummers_Urk

class       : SpatialPointsDataFrame 
features    : 7792 
extent      : 5.591987, 170059.4, 52.64994, 518956.2  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs 
variables   : 18
# A tibble: 7,792 × 18

# Plot house in Leaflet
> leaflet(huisnummers_Urk) %>%
  addTiles() %>%
  addMarkers(lng = huisnummers_Urk$x1, lat = huisnummers_Urk$x2)

Error in validateCoords(lng, lat, funcName) : 
  addMarkers requires non-NULL longitude/latitude values

# Where are the missing values?
> huisnummers_Urk@coords[!complete.cases(huisnummers_Urk@coords),]
 coords.x1 coords.x2

我應該從哪里開始看到我在做什么錯? 我將所有坐標放在一個矩陣中進行檢查,看不到任何NA / NULL。

我發現了兩個錯誤:一個在代碼中,一個在數據集中。

1)lng和lat的Leaflet命令應指向“ huisnummers_Urk $ coords.x1”。 坐標的名稱也為“ coords”,在de列中重復此名稱。 所以我犯了一個錯誤,將這部分遺漏了。

2)圖表中有lng / lat值,您可以使用spdplyr包對其進行過濾:

huisnummer_urk <- huisnummer_urk %>%  
filter(huisnummer_urk$coords.x1 >= -90, 
huisnummer_urk$coords.x1 <= 90,  huisnummer_urk$coords.x2 >= -180,  huisnummer_urk$coords.x2 <= 180)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM