2 votos

¿Unir la tabla dBase (*.dbf) a Cobertura?

Tengo una tabla dbf y una cobertura de polígonos. ¿Cómo puedo unir y guardar los datos unidos a la cobertura sin exportar a feature class y luego volver a crear una cobertura en python? He estado mirando a jugar con tablas de información, pero no hay mucha información por ahí en él.

Entonces, si yo, en arcpy, uso el joinItem, obtengo:

Traceback (última llamada más reciente): Archivo "G:/Projects/P747/3_Landbase/LB1/Final_Scripts/V_2/Step_04.py", línea 36, en arcpy.JoinItem_COVG(Polygon, Table, Polygon, "MKEY") File "c: \program archivos (x86) \arcgis\desktop10.1\ArcToolbox\Toolboxes\Coverage Tools.tbx", línea 2091, en JoinItem arcgisscripting.ExecuteError: Error al abrir ELIMINATETABLE.DBF No se pudo ejecutar (JoinItem).

import arcinfo, arcpy, os, sys, gc, datetime, time
from arcpy import env

print 'Starting....'

env.OverWriteOutput = True
env.qualifiedFieldNames = False
arcpy.SetProduct("ArcInfo")

ts = time.time()
st = datetime.datetime.fromtimestamp(ts).strftime('%H:%M:%S')
print 'Start time = ' + st

tbx = arcpy.ImportToolbox(r"C:\Program Files (x86)\ArcGIS\Desktop10.1\ArcToolbox\Toolboxes\Coverage Tools.tbx", "COVG")

env.workspace = "G:\\Projects\\P747\\3_Landbase\\LB1\\multiunion\\m_20150128\\"
Table = "\\\\silver\\clients\\Projects\\P747\\3_Landbase\\LB1\\Eliminate\\El_20150122\\EliminateTable.dbf"
FCLayer = "\\\\silver\\clients\\Projects\\P747\\3_Landbase\\LB1\\TEMP\\\FCLayer.lyr"
TableLayer = "\\\\silver\\clients\\Projects\\P747\\3_Landbase\\LB1\\TEMP\\\TableLayer.lyr"

print 'Loaded Data....'

if arcpy.Exists(FCLayer):
    arcpy.Delete_management(FCLayer)
if arcpy.Exists(TableLayer):
    arcpy.Delete_management(TableLayer)

print 'Deleted Existing Layers....'

for Coverage in arcpy.ListFiles("*_Union"):

    print 'Working on ' + Coverage

    Polygon = env.workspace + "\\" + Coverage + "\\polygon"
    arcpy.JoinItem_COVG(Polygon, Table, Polygon, "MKEY")
    break

¿Qué significa "el apoyo se ha detenido"? ¿Podré seguir utilizando mis herramientas de cobertura?

2voto

UnkwnTech Puntos 21942

Nunca he utilizado las herramientas de cobertura, pero estoy muy familiarizado con ArcInfo Workstation y AML, pero creo que debería ser capaz de lograr esto en un proceso de dos pasos:

  1. Tabla a tabla (conversión)

Esta herramienta puede convertir las tablas de entrada en dBASE (.dbf), geodatabase (personal, archivo o SDE), o tablas INFO.

  1. Unir tablas de información (cobertura)

Une las definiciones y los valores de los elementos de dos tablas basándose en un compartido. La unión implica añadir elementos (campos) de una tabla a los de otra de otra a través de un atributo o elemento común a ambas tablas. Una unión suele utilizarse para adjuntar más atributos a la tabla de atributos de una capa geográfica.

Lo anterior sería el equivalente en ArcGIS Desktop de este procedimiento ARC/INFO:

  1. DBASEINFO
  2. JOINITEM

No recomendaría a nadie que siguiera utilizando el formato de cobertura.

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