15 votos

Cómo convertir la geometría de WKT el uso de ArcPy?

Me gustaría ser capaz de convertir a una sola característica (o potencialmente muchas características) en una capa de ArcGIS en el Conocido Texto (WKT) formato durante una operación de geoprocesamiento utilizando Python y ArcPy (no ArcPy módulos). El propósito es, a continuación, pasar a la WKT en SQL Server Espacial y realizar un procesamiento adicional fuera de ArcGIS GP conjunto de herramientas. Hay un método para convertir una ArcGIS geometría características de WKT a través de ArcPy?

Ya he leído los siguientes, sin encontrar lo que busco:

Hay al parecer solía ser una herramienta llamada "Funciones de Escritura A un Archivo de Texto" (que parece ser una secuencia de comandos de Python) que estaba en las Muestras de la caja de herramientas, pero la caja de herramientas que estaba en desuso en la versión 10 y no puedo encontrar una copia de las Muestras de la caja de herramientas (he v10.0) en mi máquina. Si no hay soluciones actuales, si alguien podía punto de darme una copia de la muestra, yo estaría totalmente bien con el uso de dicha herramienta, también.

29voto

Galbrezu Puntos 142

Un da.searchcursor debe trabajar para usted.

for row in arcpy.da.SearchCursor("path2data", ["SHAPE@WKT"]):
  print row[0]

EL PUNTO Z (-119.53753379999995 49.854383300000052 303.14500000000407)

doc aquí: http://resources.arcgis.com/en/help/main/10.1/index.html#//002z0000001t000000

Nota: la FORMA@JSON, la FORMA@WKB, y la FORMA@WKT tokens se hicieron disponibles en ArcGIS 10.1 Service Pack 1.

O, si usted está después de las muestras de la caja de herramientas como usted ha mencionado - es ahí, justo en desuso. Usted puede llamar con secuencias de comandos todavía. Si usted necesita la real caja de herramientas que usted puede usar, aquí en el viejo Modelo y el Script de Galería

EDITAR (con ejemplo)...Porque usted lo pidió tan bien: :)

for row in arcpy.da.SearchCursor("GPX_Layer", ["SHAPE@WKT"],where_clause="TYPE = 'a'"):
    print row[0]

Es sólo la misma como una "seleccionar por atributos" tipo de consulta/expresión. Tengo un campo llamado "TIPO" y un valor de 'a'.

6voto

warsze Puntos 178

No estoy equipado para confirmar esto, pero esta página documenta SearchCursor (arcpy.da), discutiendo la field_names parámetro, se observa lo siguiente:

A partir DE ArcGIS Help 10.1 - SearchCursor (arcpy.da)

Información adicional se puede acceder mediante fichas (como OID@) en lugar de los nombres de campo:

La FORMA@WKT -El conocido texto (WKT) representación de OGC geometría. Proporciona un portátil representación de un valor de la geometría como una cadena de texto

Nota: la FORMA@JSON, la FORMA@WKB, y de la FORMA@WKT fichas estaban disponibles en ArcGIS 10.1 Service Pack 1.

¿Qué te parece?

6voto

gary Puntos 4856

Sólo la adición de este en caso de que sea de utilidad para alguien...

# Convert to WKT by field name (Shape)
file_path = 'C:\shapefile.shp'
query= arcpy.SearchCursor(file_path)
for row in query:
  the_geom=row.getValue('Shape') # Get Geometry field
  wkt = the_geom.WKT # Convert to WKT, can also use WKB, JSON etc

3voto

UnkwnTech Puntos 21942

Las Funciones de Escritura a un Archivo de Texto de la herramienta se puede encontrar aquí.

Hay una relacionada con ArcGIS Idea aquí que ha atraído, en mi opinión, incomprensiblemente pocos votos.

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