エクスポートされたシェープファイルとして2GBを超えるジオデータベースに含まれる機能があります。Rで抽出関数を実行して、ポリゴンをラスターファイルのデータに関連付ける必要があります。機能をテーブルとしてエクスポートすることは解決策ではありません。Esriファイルジオデータベース内に含まれるフィーチャクラスを読み取るにはどうすればよいですか?
エクスポートされたシェープファイルとして2GBを超えるジオデータベースに含まれる機能があります。Rで抽出関数を実行して、ポリゴンをラスターファイルのデータに関連付ける必要があります。機能をテーブルとしてエクスポートすることは解決策ではありません。Esriファイルジオデータベース内に含まれるフィーチャクラスを読み取るにはどうすればよいですか?
回答:
rgdalを使用して、Esriファイルジオデータベースのフィーチャクラスにアクセスできます。
require(rgdal)
# The input file geodatabase
fgdb <- "C:/path/to/your/filegeodatabase.gdb"
# List all feature classes in a file geodatabase
subset(ogrDrivers(), grepl("GDB", name))
fc_list <- ogrListLayers(fgdb)
print(fc_list)
# Read the feature class
fc <- readOGR(dsn=fgdb,layer="some_featureclass")
# Determine the FC extent, projection, and attribute information
summary(fc)
# View the feature class
plot(fc)
layer
GDBにフィーチャクラスが1つしかない場合、引数を省略できることを知っておくと役立ちます。
gdb
のファイルを、fgdb
ここではこの答えではディレクトリであるとogrListLayers()
...このディレクトリに取り組んでいます
この回答ですでに投稿されているように、これは次のものでも非常にうまく機能しsf
ます:
require(sf)
fc <- sf::st_read("C:/path/to/your/filegeodatabase.gdb", layer = "some_featureclass")
しかし、(実装されていないfgdbイストへの書き込みはまだ?)は、ArcGIS / ArcMapのライセンスだけでなく、Rライブラリを持っている必要があるだろうarcgisbinding
(参照https://github.com/R-ArcGIS/r-bridgeを)
st_drivers()$write[st_drivers()$long_name == "ESRI FileGDB"]
#> [1] FALSE