2 votos

¿Cómo importar mediante programación un Shapefile a la base de datos de Oracle utilizando Java?

¿Cuál es la mejor manera de importar un shapefile cargado por el usuario a una base de datos de Oracle? Los archivos dbf, shx y shp del Shapefile vienen en un archivo ZIP.

En la actualidad, descomprimimos los archivos de forma programada y luego analizamos los archivos dbf, shx y shp manualmente utilizando Java personalizado y la biblioteca GeoTools. A partir de ahí construimos cadenas SQL para crear la tabla e insertar los valores. Esto funciona, pero parece engorroso dada la complejidad de los shapefiles.

He pensado que debe haber una manera más fácil de utilizar algún tipo de biblioteca Java a la que pasamos el shapefile. La librería debería encargarse de todo lo relacionado con la importación del shapefile.

Sin embargo, no encuentro ningún método de GeoTools para importar simplemente un Shapefile a una BD de Oracle. Sólo he encontrado este programa Oracle Java pero no hay tutoriales sobre cómo usar esto como parte de un portal web basado en java.

2voto

Adam Ernst Puntos 6939

Esta es una operación sencilla en GeoTools, una vez que haya leído en el Shapefile tendrá una FeatureCollection que sólo tiene que escribir en un Almacén de datos de Oracle .

Tengo un ejemplo de cómo escribir una Base de Datos (mysql y postgis son los ejemplos incluidos) aquí .

1voto

Hilary Puntos 6

Oracle Spatial viene con una colección de APIs de Java, y una de ellas le permite leer shapefiles. Esa API está documentada aquí: http://docs.oracle.com/database/121/SPAJV/toc.htm . Busque el oracle.spatial.util package , específicamente la clase ShapefileFeatureJGeom . Utiliza clases de nivel inferior que realizan la lectura real del shapefile ( DBFReaderJGeom y ShapefileFeatureJGeom ). Esa API es utilizada por Mapbuilder y también por el programa de línea de comandos que indicas ( SampleShapefileToJGeomFeature ).

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