Читання бази даних геоданих за допомогою R?


12

Файл geodatabase (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
Бази геоданих зберігають геометрію в полях blob не dbf (але shapefile робить).
Mapperz

1
Я збирався запропонувати використовувати постачальник oledb Esri для файлових баз даних , однак, схоже, R не може прочитати oledb . Можливо, ви хочете підтримати це питання, а також це .
Кірк Куйкендалл

Відповіді:


4

Простим рішенням є використання таблиці для dBase (кілька) для експорту ваших таблиць (клацніть правою кнопкою миші FGDB> Експорт> до dBase (кілька). Ви також можете використовувати цей інструмент для експорту таблиць атрибутів, що містяться в класах функцій FGDB. Просто перетягуйте таблиці та або класи функцій в інструменті та вкажіть папку виводу. Звичайно, тоді ви можете переглядати папку, що містить нові файли dBase, використовуючи R.

введіть тут опис зображення

введіть тут опис зображення


Це працює - моє спадне меню виглядає не однаково (вибачте, я не повністю розумію файлові системи ArcMap), але я виявив, що можу експортувати таблиці, клацнувши правою кнопкою миші на саму запис таблиці в змісті, і створити читабельний .dbf файл. Дякую!
Нан

9

Бази даних геоданих не зберігають свої дані як dbf, як це роблять shapefiles. FGDB використовують власний метод внутрішнього зберігання.

ESRI опублікував API , якщо використовувати його для компіляції GDAL з підтримкою файлової бази даних, ви можете використовувати плагіни gdal R, щоб отримати доступ до ваших даних таким чином. Однак найпростішим рішенням є, мабуть, перетворення даних у shapefile, тоді ви можете використовувати інструменти dbf R.


Або просто експортуйте таблицю атрибутів як dbf, а не конвертуючи весь клас функцій.
Балток

1
О, це правда! Ви також можете використовувати панель інструментів Xtools для експорту таблиці атрибутів безпосередньо в Excel. Безкоштовна версія панелі інструментів включає можливість експорту Excel. xtoolspro.com
HeyOverThere

@ HeyOverThere - спасибі за вказівку на це, ви неправі - ці таблиці "Файли таблиць бази даних", що пояснює, чому я не зміг їх знайти як .dbf файли. Я йду з підходом до експорту Аарона, однак перетворення всіх моїх даних у форматні файли буде забирати більше часу.
Нан

Здається, посилання API мертве. Чи можете ви оновити його?
Аарон

Схоже, ESRI робив чистку будинку. Посилання оновлено, щоб вказати на нове місце розташування
HeyOverThere

4

Я зіткнувся з тією ж проблемою. На мою думку, ArcMap незручно використовувати. Натомість я викликав python від R, використовуючи наступний код. Це, на жаль, вимагає від вас 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))) 

Вищенаведене буде виводити файл форми з бази даних геоданих, тоді вам доведеться імпортувати в Р.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.