Rを使用してファイルジオデータベースを読み取りますか?


12

ファイルジオデータベース(fgdb)には、多数のファイルジオデータベーステーブルが含まれています。私の知る限り、それらはdbfファイルとして存在しますが、内にありDatabase.gdbます。

ArcCatalogでは、ファイルパスウェイはに似ていC:\Users\...\Database.gdb\Stats_AAます。

これらすべてのdbfファイルをR(統計ソフトウェア)に読み込む方法は?供給する正しい経路は何ですか?使用される関数はread.dbf(外部パッケージ内)です。

のバリアント

test<-read.dbf(file="C:/Users..Database.gdb/Stats_AA.dbf") 

そして

test<-read.dbf(file="C:/Users..Database/Stats_AA.dbf") 

動作しません。使用するファイル名の正しい「フォーム」とは何ですか、またはすべてのファイルジオデータベーステーブルを他のフォームまたは場所にエクスポートする必要がありますか?


1
ジオデータベースは、dbfではなくblobフィールドにジオメトリを格納します(シェープファイルは格納します)。
マッパーズ

1
Esriのoledbプロバイダーをファイルジオデータベースに使用することをお勧めしますが、Rはoledbを読み取れないようです。その質問をupvoteしたい、ともあります。この1
カーククイケンドール

回答:


4

簡単な解決策は、Table to dBase(複数)を使用してテーブルをエクスポートすることです(右クリックFGDB>エクスポート> To dBase(複数)。このツールを使用して、FGDBフィーチャクラスに含まれる属性テーブルをエクスポートすることもできます。または、ツールにフィーチャクラスを追加し、出力フォルダーを指定しますもちろん、Rを使用して、新しいdBaseファイルを含むフォルダーをループできます。

ここに画像の説明を入力してください

ここに画像の説明を入力してください


これは機能します-ドロップダウンメニューは同じようには見えません(申し訳ありませんが、ArcMapファイルシステムを完全に理解していません)が、目次のテーブルエントリ自体を右クリックしてテーブルをエクスポートできることがわかりました読み取り可能な.dbfファイルを生成します。ありがとう!
ナン

9

ファイルジオデータベースは、データをdbfとして保存しませんが、シェープファイルは保存します。FGDBは独自の内部ストレージメソッドを使用します。

ESRIはAPIを公開しました。これを使用してファイルジオデータベースサポートを使用してGDALをコンパイルすると、Rのgdalプラグインを使用してその方法でデータにアクセスできる場合があります。ただし、おそらく最も簡単な解決策は、データをシェープファイルに変換することです。その後、Rのdbfツールを使用できます。


または、フィーチャクラス全体を変換するのではなく、属性テーブルをdbfとしてエクスポートするだけです。
バルトーク

1
それは本当です!Xtoolsツールバーを使用して、属性テーブルをExcelに直接エクスポートすることもできます。ツールバーの無料版には、Excelエクスポート機能が含まれています。 xtoolspro.com
HeyOverThere

@ HeyOverThere-ご指摘いただきありがとうございます。これらのテーブルは「ファイルジオデータベーステーブル」であり、.dbfファイルとして見つからなかった理由を説明しています。Aaronのエクスポートアプローチを使用しますが、すべてのデータをシェープファイルに変換するには時間がかかります。
ナン

APIリンクが無効になっているようです。更新していただけますか?
アーロン

ESRIがハウスクリーニングを行ったようです。リンクの新しい場所を指すように更新
HeyOverThere

4

私は同じ問題に遭遇しました。私の意見では、ArcMapを使用するのは不便です。代わりに、次のコードを使用してRからpythonを呼び出しました。残念ながら、Arcpyが必要です。

Pythonスクリプト:

import os,sys
import arcpy
from arcpy import env
from sys import argv ### This is needed to import variables

script, featureClass, inFeatures, outLocation, outFeatureClass = argv
env.workspace = featureClass ### set working directory
arcpy.FeatureClassToFeatureClass_conversion(inFeatures, outLocation,outFeatureClass)

Rコード:

script = "./Path To Python Script/Example.py"
featureClass = './Path To Geodatabase/Example.gdb'
inFeatures = "featureClass"
outLocation = "./Path To Outfile Location"
outFeatureClass = "test.shp"
system2('python', args = c(shQuote(script),shQuote(featureClass),shQuote(inFeatures),shQuote(outLocation),shQuote(outFeatureClass))) 

上記はジオデータベースからシェープファイルを出力します。その後、Rにインポートする必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.