保育園マップのデータは、元データをRで整形して、CSVで出力、QGISでgeojsonに変換、Github上に保存しています。データ変換するためにQGIS立ち上げるのも面倒なので、データ整形してそのままR上でGeoJSONに出力したいと思い、初めてrgdalをさわってみました。
library(rgdal)
setwd("D:\\Dropbox\\")
Map <- read.csv("input.csv")
#"Y"列にLatitude, "X"列にLongitude
#Map$Y <- as.numeric(Map$Y)
#Map$X <- as.numeric(Map$X)
Map.XY <- SpatialPointsDataFrame(
Map[,c("X","Y")],
Map,
proj4string=CRS("+proj=longlat +datum=WGS84")
)
writeOGR(
Map.XY,
dsn="D:/Dropbox/.geojson", #ファイル名がつけられない…
layer="Map",
driver="GeoJSON",
layer_options= c(encoding= "UTF-8"), #これが効いてないっぽい
overwrite_layer=T #上書きOK
)
なぜか、"map.geojson"と言う感じでファイル名を入力するとエラーが出てしまう。".geojson"だけなら出力できる。。。dsn="D:/Dropbox/"もエラーで出力できない。あと、layer="Map"でレイヤ名指定してるけど、これ使われていないような…。
driver = "ESRI Shapefile"の場合は下記でMap.shpが生成されるのだけど…。
dsn="D:/Dropbox/
layer="Map"
Helpに出力形式によって、dsnとlayerの指定方法は異なると書いてあるけど、どう異なるのかよく分からない。しかし、QGISでgeojsonに出力していた時はURLに含まれるチルダが文字化けして困っていたのだけど、RでwriteOGRすると特に問題は起こってない感じ。と言うわけで、最後で自分でファイル名を入力すると言うヘボヘボでやっています…。だれか教えてー。
お世話になった情報
http://www.r-bloggers.com/how-to-create-a-geojson-in-r/
http://gis.stackexchange.com/questions/93135/writeogr-column-limit-error-creating-name-field-failed
https://www.mail-archive.com/r-sig-geo@r-project.org/msg11313.html