12 votos

La lectura de Geodatabase de Archivos mediante R?

Geodatabase de archivos (fgdb) incluye numerosas archivo de tablas de geodatabase. Como yo sé que existen como dbf ficheros, pero están dentro de un Database.gdb.

En ArcCatalog, el archivo de la vía se asemeja C:\Users\...\Database.gdb\Stats_AA.

Cómo leer todos estos dbf archivos en R (de un software estadístico)? ¿Cuál es la correcta vía de suministro? La función utilizada es read.dbf (en el exterior del paquete).

Variantes de

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

y

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

no trabajo. ¿Cuál es la correcta "forma" del nombre de archivo para ser utilizado, o bien, necesito para exportar todos los de la geodatabase de archivos de tablas en alguna otra forma o ubicación?

9voto

neouser99 Puntos 1203

Las geodatabases de archivos no se almacenan los datos como un dbf, shapefiles hacer. FGDB el uso de su propio almacenamiento interno método.

ESRI publicado un API, si lo uso para compilar GDAL con geodatabase de archivos de soporte que usted podría ser capaz de utilizar R gdal plugins para obtener acceso a sus datos de esta manera. Sin embargo, la solución más sencilla es probablemente la conversión de los datos a shapefile, entonces usted puede utilizar R dbf herramientas.

5voto

Aaron Puntos 25882

Una solución simple es usar la Tabla de dBase (múltiples) para exportar las tablas (clic Derecho FGDB > Exportar > A dBase (varios). También puede utilizar esta herramienta para exportar tablas de atributos contenidos dentro de FGDB clases de entidad. Sólo tienes que arrastrar y soltar y tablas o clases de entidad en la herramienta y especificar una carpeta de salida. Por supuesto, entonces usted puede bucle a través de la carpeta que contiene los nuevos archivos de dBase mediante R.

enter image description here

enter image description here

5voto

user44796 Puntos 172

Me encontré con el mismo problema. Es un inconveniente para el uso de ArcMap, en mi opinión. En lugar de eso, me invoca python de R usando el siguiente código. Se requiere que usted tenga Arcpy, por desgracia.

Secuencia de comandos de 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 código:

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))) 

La de arriba es la salida de un archivo shapefile de una geodatabase, entonces usted tendrá que importar en R.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X