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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 15 May 2007 08:39

stef56
Participant occasionnel
Date d'inscription: 15 May 2007
Messages: 21

import shape dans postgis

Bonjour,

Je débute dans la cartographie et j'ai installé postgres et postGis.
Sous dos j'ai crée un ebase de donnée postGis. Mais je n'arrive pas à importer mon shape.
Je tape la ligne de commande suivante : shp2pgsql -D "chemin vers mon shape" "nom de ma table" "nom de ma base" | psql "nom de ma base";
j'ai des problèmes de droit car il me demande un mot de passe, comment puis je taper cette ligne de commande en utilisant l'utisateur postgres ?

merci pour votre aide

Hors ligne

 

#2 Tue 15 May 2007 09:16

stef56
Participant occasionnel
Date d'inscription: 15 May 2007
Messages: 21

Re: import shape dans postgis

En fait j'ai réussi à régler mon problème de droit en faisait d'abord un "runas" sous dos pour changer d'utilisateur.
J'ai importé mon fichier shape. Par contre dans la table crée la colonne "the_geom" contient des données comme celles ci :
01060000000100000001030000000100000043010000A044937435511BC02AF8CB3F0CE34040A04D237D7D4C1BC0F2FC8B2491E04040A0609378AF421BC0...
est-ce normal ? Je m'attendais à avoir des donnees comme par exemple  : MULTIPOLYGON("pint"...

Merci pour votre aide car je suis un peu perdue

Hors ligne

 

#3 Tue 15 May 2007 09:33

Fred
#JeSuisCharlie
Lieu: Paris
Date d'inscription: 24 Jun 2005
Messages: 7682
Site web

Re: import shape dans postgis

Normal les données géométriques sont en binaires/hexadécimal. Pour afficher qqchose de plus compréhensible :

Code:

select AsText(the_geom) from table

Bonne chance

Fred


GeoRezo vous aide ==> Aidez GeoRezo !

Hors ligne

 

#4 Tue 15 May 2007 11:46

stef56
Participant occasionnel
Date d'inscription: 15 May 2007
Messages: 21

Re: import shape dans postgis

Effectivement c'est beucoup plus compréhensible !
en fait cette table comporte un ensemble de points correspondant au contour d'un pays et j'ai essayé (en php) d'utiliser la fonction assvg pour le redssiner en svg et j'obtiens un path très bizarre.
Quelle est la méthode pour extraire ces données et les insérer dans un svg ?

Merci

Hors ligne

 

#5 Tue 15 May 2007 22:36

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: import shape dans postgis

C'est la bonne methode (asSVG), mais il faut un moyen d'ordonner les points pour representer le contour du pays. Sinon, AsSVG recupere les points comme il l'entend depuis postgis puis crée le path.
Le mieux serait de creer un vrai polygone a partir de ces points, ou alors de faire une requete permettant a asSVG de recuperer une liste ordonée de points.

Nicolas

Hors ligne

 

#6 Wed 16 May 2007 09:53

gismo
Participant occasionnel
Date d'inscription: 22 Feb 2007
Messages: 11
Site web

Re: import shape dans postgis

Bonjour,

si vous avez bien inséré un MULTIPOLYGONE, il faut penser que SVG à son origine des coordonnées en haut et à gauche de l'écran, ce qui n'est pas le cas pour les systèmes de coordonnées (Lambert, lat-long, ...) l'utilisation AsSVG[Translate(...)) de postgis permet d'obtenir un chemin plus cohérent avec l'image que l'on attend.

Salutations

Hors ligne

 

#7 Mon 21 May 2007 09:43

stef56
Participant occasionnel
Date d'inscription: 15 May 2007
Messages: 21

Re: import shape dans postgis

Merci pour vos réponses. Je vais étudier tout ça de plus près

Hors ligne

 

#8 Mon 21 May 2007 10:09

stef56
Participant occasionnel
Date d'inscription: 15 May 2007
Messages: 21

Re: import shape dans postgis

Bonjour,

J'ai une table qui contient les regions d'un pays.Cette table a été crée par importation d'un shape Arcview. Mes données sont sous forme 'MULTIPOLYGON'. Pourquoi ne sont-elles pas en, simple polygon, puisque c'est censé représenter un contour ? Cela me posera-til un problème si j'ai besoin de chercher par la suite les intersections entre les régions ???


Merci pour votre aide

Hors ligne

 

#9 Mon 21 May 2007 11:06

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

Re: import shape dans postgis

Bonjour,

stef56 a écrit:

Cela me posera-til un problème si j'ai besoin de chercher par la suite les intersections entre les régions ???


Pas que je sache, certaines fonctions postgis nécessitent d'avoir des multipolygone. Dans le cas où vous auriez des polygon (donc pas de multipolygon) vous devrez utiliser la fonction Multi() :

Multi(geometry) :

    Renvoit la géométrie comme une géométrie multiple (MULTI*). Si la géométrie est déjà une MULTI*, elle est renvoyée inchangée.


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 !

En ligne

 

#10 Mon 21 May 2007 13:13

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: import shape dans postgis

l'outil shp2pgsql (surement utilisé pour l'import), cree par defaut des multi geometries, car le format shapefile accepte de tels objets.
Il est possible de forcer la generation de geometries simples avec shp2pgsql avec l'option -S.
Si tous les polygones sont simples (numgeometries = 1 pour tous les objets), il est possible de mettre a jour la table en question, avec:

update matable set the_geom = geometryn(the_geom, 1);

Il faut avant s'assurer que tous les objets sont simples:

select distinct numgeometries(the_geom) from matable;

On peut également travailler avec la table telle quelle: les opérations d'intersection, union, etc. prennent en compte les objets multiples.

Nicolas

Hors ligne

 

Pied de page des forums

Powered by FluxBB