2 votos

¿Cómo crear un shapefile o gml a partir de una base de datos Oracle utilizando SDE.ST_Geometry?

Tengo una base de datos ORACLE 10g(Oracle Database 10g Enterprise Edition Release 10.2.0.3.0) con un campo SDE.ST_Geometry y quiero hacer un programa en python para poder crear varios shapefiles basados en este campo ST_Geometry y utilizar también otros campos para poder rellenar mis shapes con atributos. Sólo tengo acceso a la base de datos y no tengo ni idea de qué arcgis está relacionado.

¿Cómo puedo hacerlo? ¿Hay alguna sugerencia?

2voto

nebula Puntos 605

Si tiene el mismo problema GDAL puede ser un buen enfoque..

Por favor, eche un vistazo a

http://www.gdal.org/ogr2ogr.html

http://www.gdal.org/ogr/drv_oci.html

import cx_Oracle
# Import osgeo
    try:
        from osgeo import ogr, osr, gdal
        print "Import success!"
    except:
        sys.exit('ERROR: cannot find GDAL/OGR modules')

# To connect to oracle database you will need:
     Connection_String = 'username/pwd@ (DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xxx.xxx.xx)(PORT = xxxx))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = name.service)))'   
    cx_Oracle.connect(Connection_String)

    cur = db.cursor()
    cur.execute("select shape.minx, shape.miny, somefield from mydbase.table")

# "shape" is the name of your SDE.ST_Geometry field.

finalmente sólo tienes que seguir este enlace:

http://www.digital-geography.com/create-and-edit-shapefiles-with-python-only/#.VDPnvPldU31

y problema resuelto.. Si tienes este mismo problema y encuentras esta pregunta útil, por favor vota.

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