Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#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@texte-a-enlever.gmail.com
Merci encore

Hors ligne

 

#2 Tue 01 November 2016 20:19

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

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.


Pierre-André Le Ny
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

Hors ligne

 

#3 Tue 01 November 2016 21:25

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9853
Site web

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

 

Pied de page des forums

Powered by FluxBB