Pages: 1
- Sujet précédent - Comment charger une couche shapefile de postgis pour Leaflet ou Openla - Sujet suivant
#1 Tue 01 November 2016 19:29
- FANIVE
- Juste Inscrit !
- Date d'inscription: 16 Feb 2015
- Messages: 1
Comment charger une couche shapefile de postgis pour Leaflet ou Openla
Bonsoir à tous chers développeur,
Je travaille sur la mise en place d'un WEBSIG j'ai donc pour missions de developper une petite appli. seulement je ne parviens pas à charger mes couches initialement stocker dans ma BD. j'aimerais que quelqu'un m'aide à charger la couche de Postgis vers l'un des 2 de preference Leaflet. mais si quelqu'un peut aussi m'aider en Openlayers je suis prenant. Merci.........
j'attends une reaction rapide que ce soit ici ou à cette addresse: stevenoukimi@ gmail.com
Merci encore
Hors ligne
#2 Tue 01 November 2016 20:19
Re: Comment charger une couche shapefile de postgis pour Leaflet ou Openla
Bonsoir,
Il vous manque une brique : un serveur SIG OGC (geoserver ou mapserver).
C'est lui qui va lire la donnée dans PostGIS pour la servir en WMS/WFS.
Vous ne pourrez pas lire du postgis directement.
Hors ligne
#3 Tue 01 November 2016 21:25
Re: Comment charger une couche shapefile de postgis pour Leaflet ou Openla
Bonjour,
Je rajouterai Mapnik si vous ne souhaitez pas avoir un serveur OGC en générant les tuiles. Mais il faut bien comprendre ce domaine (service OGC, serveur de tuiles).
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#4 Wed 02 November 2016 10:19
- Delu
- Participant actif
- Lieu: Briançon
- Date d'inscription: 29 Apr 2008
- Messages: 76
Re: Comment charger une couche shapefile de postgis pour Leaflet ou Openla
Bonjour,
Si vous souhaitez récupérer des données vecteurs dans postgis, il est possible d'utiliser le format geojson. Postgis et PHP peuvent vous faire ça.
Voici un exemple de code à adapter à votre contexte :
Code:
<?php $serveur = "localhost"; $user = "monuser"; $passe = "monpass"; $base = "mabase"; $dbconnect = pg_connect("host=$serveur dbname=$base user=$user password=$passe") or die('Connexion impossible : ' . pg_last_error()); header('Content-type: application/json'); $query = "SELECT meschamps, st_asgeojson(s.the_geom) AS geometry FROM matable;"; $rs = pg_query($dbconnect, $query) or die("La requete suivante ne peut pas etre executee : $query\n"); //Construction du GeoJSON $geojson = array( 'type' => 'FeatureCollection', 'features' => array() ); while ($row = pg_fetch_assoc($rs)) { $geometry = json_decode($row['geometry']); //On enlève les propriétés des géométries unset($row['geometry']); $properties = $row; $feature = array( 'type' => 'Feature' ,'properties' => $properties ,'geometry' => $geometry ); // on push la feature array_push($geojson['features'], $feature); } echo json_encode($geojson); ?>
Dans leaflet appeler l'url du fichier php et définir le type de couche en geoJson.
Bonne journée
Hors ligne
Pages: 1
- Sujet précédent - Comment charger une couche shapefile de postgis pour Leaflet ou Openla - Sujet suivant