GeoJava

De Lillois Fractale Wiki
Aller à la navigation Aller à la recherche

Intro

PG souhaite développer une application java manipulant des données géographiques planétaires.

Ce n'est pas une mince affaire car:

  • les données sont très volumineuses
  • il est indispensable de mettre en place une architecture client serveur
  • les structures de données ne sont pas évidentes
  • Il faudrait pouvoir accéder à un bon niveau de détail sur n'importe quelle zone de la planète

Données à traiter

Voici ce qui serait utile:

  • Contour des pays
  • Contour des océans et étendues d'eau
  • Nom des villes
  • Nom des rues
  • Plus ?!? ... plus tard

 

Matière première: les données OSM

Le fichier global dont tout sera extrait est planet-170306.osm.pbf (170306 pour YYMMDD).

Le format PBF est le moins encombrant.

Le fichier est placé dans /media/Shared/server.geo

Ce fichier assez volumineux peut être téléchargé sur le site d'OpenStreeMap (OSM).

Voir aussi la commande osmupdate et les autres commandes osmXXX.

Base de données : PostGres

La commande pour utiliser postgres interactivement est psql (installé normalement au sein d'ubuntu).

Il faut définir (administration) un utilisateur/rôle pge. 

Pour cela, il faut d'abord l'outil d'administration pgadmin3 (sudo apt install pgadmin3).

Chargement des données OSM dans PostGres

sudo apt-get install osm2pgsql # installation du package de conversion ad hoc

l'exécutable est /usr/bin/osm2pgsql

ce qui est extrait vers postgres est défini dans un fichier de configuration:

  • version par défaut /usr/share/osm2pgsql/default.style
  • version pour les besoins de pge : /media/Shared/osm2pgsql.pge.style (fichier précieux à adapter selon besoins)

la commande à exécuter est (osm2pgsq avec tous les arguments ad hoc) dans le script osmExtract