« GeoJava » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 44 : | Ligne 44 : | ||
Voir aussi la commande '''osmupdate''' et les autres commandes osm''XXX''. |
Voir aussi la commande '''osmupdate''' et les autres commandes osm''XXX''. |
||
Ligne 56 : | Ligne 57 : | ||
Il faut créer la base de données gis: |
Il faut créer la base de données gis: |
||
<pre>sudo -u postgres psql |
<pre>sudo -u postgres psql |
||
CREATE USER pge SUPERUSER |
CREATE USER pge SUPERUSER ; |
||
CREATE DATABASE gis |
CREATE DATABASE gis ;</pre> |
||
Il faut aussi que le package postgis soit installé (sudo apt install postgis). |
Il faut aussi que le package postgis soit installé (sudo apt install postgis). |
||
Ligne 63 : | Ligne 64 : | ||
Au sein de postgres (en tant que pge) il faut installer les extensions HSTORE et POSTGIS: |
Au sein de postgres (en tant que pge) il faut installer les extensions HSTORE et POSTGIS: |
||
<pre>psql -d gis |
<pre>psql -d gis |
||
LOAD EXTENSION HSTORE |
LOAD EXTENSION HSTORE ; |
||
LOAD EXTENSION POSTGIS |
LOAD EXTENSION POSTGIS ;</pre> |
||
And possibly more (see www.postgis.net/install): |
And possibly more (see www.postgis.net/install): |
||
Ligne 86 : | Ligne 87 : | ||
Il peut en outre être utile de vérifier la base de données gis dans postgres avec l'outil '''pgadmin3''' (Si nöcessaire : sudo apt install pgadmin3). |
Il peut en outre être utile de vérifier la base de données gis dans postgres avec l'outil '''pgadmin3''' (Si nöcessaire : sudo apt install pgadmin3). |
||
Optimisation des performances: |
|||
<pre>ALTER SYSTEM SET work_mem TO 64000 ; |
|||
ALTER SYSTEM SET maintenance_work_mem TO 256000 ; |
|||
SHOW work_mem ; |
|||
SHOW maintenance_work_mem ;</pre> |
|||
== Chargement des données OSM dans PostGres == |
== Chargement des données OSM dans PostGres == |
Version du 19 mai 2017 à 14:08
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.
Projects key components
Various system components and web-downloadable data, listed below.
Besides that, the specific productions of pge are
- The directory with the key data/media/Shared/server.geo/
- This wiki file (GeoJava)
- The script osmExtract
- The osm extraction style file osm2pgsql.pge.style
- And the big part (java sources): the java netbeans project XXX
Données à intégrer
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 en standard au sein d'ubuntu).
Il faut définir (administration) un utilisateur/rôle pge.
Il faut créer la base de données gis:
sudo -u postgres psql CREATE USER pge SUPERUSER ; CREATE DATABASE gis ;
Il faut aussi que le package postgis soit installé (sudo apt install postgis).
Au sein de postgres (en tant que pge) il faut installer les extensions HSTORE et POSTGIS:
psql -d gis LOAD EXTENSION HSTORE ; LOAD EXTENSION POSTGIS ;
And possibly more (see www.postgis.net/install):
-- Enable PostGIS (includes raster) CREATE EXTENSION postgis; -- Enable Topology CREATE EXTENSION postgis_topology; -- Enable PostGIS Advanced 3D -- and other geoprocessing algorithms -- sfcgal not available with all distributions CREATE EXTENSION postgis_sfcgal; -- fuzzy matching needed for Tiger CREATE EXTENSION fuzzystrmatch; -- rule based standardizer CREATE EXTENSION address_standardizer; -- example rule data set CREATE EXTENSION address_standardizer_data_us; -- Enable US Tiger Geocoder CREATE EXTENSION postgis_tiger_geocoder;
Il peut en outre être utile de vérifier la base de données gis dans postgres avec l'outil pgadmin3 (Si nöcessaire : sudo apt install pgadmin3).
Optimisation des performances:
ALTER SYSTEM SET work_mem TO 64000 ; ALTER SYSTEM SET maintenance_work_mem TO 256000 ; SHOW work_mem ; SHOW maintenance_work_mem ;
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)
- use this command to compare them :
diff /usr/share/osm2pgsql/default.style /media/Shared/osm2pgsql.pge.style
la commande à exécuter est (osm2pgsql avec tous les arguments ad hoc) dans le script osmExtract.
L'exécution de cette commande peut prendre des heures...
Java access to postgis (gis data in postgres DB)
Java clients can access PostGIS "geometry" objects in the PostgreSQL database either directly as text representations or using the JDBC extension objects bundled with PostGIS. In order to use the extension objects, the "postgis.jar" file must be in your CLASSPATH along with the "postgresql.jar" JDBC driver package.
Ces deux jars ddoivent être copiés dans $jnb/lib.