繁体   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