Exemples d’utilisation de PostGis

Attention, vous allez bientôt avoir ici toute une série de posts sur l’intégration de données carto dans une application JEE, car je bosse là-dessus actuellement. On a donc déjà une base Oracle, une appli JEE avec Struts/Spring/Hibernate, et il nous faut maintenant y ajouter des données carto stockées dans PostGIS (On a dû ajouter une base PostGIS car, si le stockage de données cartographiques est possible dans Oracle, leur exploitation via des requêtes cartographiques (du genre donne-moi tous les polygones à moins de 10 km de ce point) n’est possible qu’en utilisant Oracle Spatial, une option à 30 K€). Et on va exploiter sur le poste client OpenJUMP, en y ajoutant peut-être même coté serveur geotools. Bref, ça fait un gros tas de truc carto. Hier, j’ai donc lancé mon premier test de connexion à ma base de données PostGIS en Java en suivant ce tutorial. Malheureusement, il n’est pas tout à fait à jour. Du coup, un certain nombre de choses changent :

  • La méthode addDataType(String, String) de org.postgresql.Connection est dépréciée et remplacée par la plus élégante addDataType(String, Class), ce qui change les deux lignes d’ajout de types géométriques de cette manière :
    * Ajout du type géométrique à la connection. Notez que vous devez effectuer
    * une convertion de type pour la connection avant de faire appéle à la méthode
    * addDataType().
    */
    ((org.postgresql.Connection)conn).addDataType("geometry",org.postgis.PGgeometry.class);
    ((org.postgresql.Connection)conn).addDataType("box3d",org.postgis.PGbox3d.class);
    

Mais de toute manière, ça ne sert à rien car la dernière version de PostGIS ajoute un org.postgis.DriverWrapper qui fait automatiquement cet ajout. Il faut donc simplement changer la classe du Driver et supprimer ces deux lignes. Et du coup, je peux facilement récupérer mon objet géométrique. Il faut maintenant que je réponde à une question délicate : est-ce que je vais faire tout en JDBC, utiliser Hibernate ou faire confiance à un outil supplémentaire.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s