Suite

Comment importer par programme un fichier Shapefile dans Oracle DB à l'aide de Java ?

Comment importer par programme un fichier Shapefile dans Oracle DB à l'aide de Java ?


Quelle est la meilleure approche pour importer un fichier de formes téléchargé par un utilisateur dans une base de données Oracle ? Les fichiers dbf, shx et shp du Shapefile sont fournis dans une archive ZIP.

Actuellement, nous décompressons par programmation, puis analysons les fichiers dbf, shx et shp manuellement à l'aide de Java personnalisé et de la bibliothèque GeoTools. À partir de là, nous construisons des chaînes SQL pour créer la table et insérer les valeurs. Cela fonctionne, mais semble lourd étant donné la complexité des fichiers de formes.

J'ai pensé qu'il devait y avoir un moyen plus simple d'utiliser une sorte de bibliothèque Java à laquelle nous passons le fichier de formes. La bibliothèque devrait juste s'occuper de tous les éléments d'importation du fichier de formes.

Cependant, je ne trouve aucune méthode GeoTools pour simplement importer un fichier de formes dans une base de données Oracle. Je n'ai trouvé que ce programme Oracle Java, mais aucun tutoriel sur la façon de l'utiliser dans le cadre d'un portail Web basé sur Java.


C'est une opération simple dans GeoTools, une fois que vous avez lu dans le Shapefile, vous aurez une FeatureCollection qu'il vous suffit d'écrire dans un magasin de données Oracle.

J'ai un exemple de la façon d'écrire une base de données (mysql et postgis sont les exemples inclus) ici.


Oracle Spatial est livré avec une collection d'API Java, et l'une d'entre elles vous permet de lire des fichiers de formes. Cette API est documentée ici : http://docs.oracle.com/database/121/SPAJV/toc.htm. Cherchez lepaquet oracle.spatial.util, en particulier la classeShapefileFeatureJGeom. Il utilise des classes de niveau inférieur qui effectuent la lecture réelle du fichier de formes (DBFReaderJGeometShapefileFeatureJGeom). Cette API est utilisée par Mapbuilder et est également utilisée par le programme en ligne de commande que vous indiquez (SampleShapefileVersJGeomFeature).


Voir la vidéo: Oracle Database Connection with Login Form in java Swing 2018. JDBC Connection. Part #2