2017-07-20 9 views
0

次の手順をアドバイスしてもらえますか?オランダの町(Urk)のESRIシェイプファイルとすべてのハウスマンをプロットするマーカーを持つ地図上に表示されます。リーフレットには、ファイルにNULL値があるというエラーが表示されますが、見つからないようです。リーフレットを使用して、リーフレット> NULL値を使用したreadOGRポイントシェープファイルとプロット

# 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? 
> [email protected][!complete.cases([email protected]),] 
coords.x1 coords.x2 

私はここで間違っていますか?私は検査のためにすべてのコードを行列に入れて、NAの/ NULLを見ないようにしました。

答えて

0

コード内に1つとデータセットに1つの2つのエラーが見つかりました。

1)lngとlatのリーフレットコマンドは、 "huisnummers_Urk $ coords.x1"を指す必要があります。座標スロットの名前も「座標」であり、これは列で繰り返されます。だから私はこの部分を残して間違えた。

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) 

2)チャートのLNG /緯度の値がありますが、あなたはspdplyrパッケージを使用して、それらをフィルタリングすることができます

関連する問題