#1 Fri 11 October 2013 13:13
- ffwrude
- Juste Inscrit !
- Date d'inscription: 11 Oct 2013
- Messages: 5
IGNMAP Postgis
Bonjour,
Utilisateur d'IGNMap depuis peu j'essaye de voir comment fonctionne l'intégration de postgis dans IGNAMP.
J'arrive bien a me connecter à mon serveur. Celui-ci me dit que j'ai X élément dans ma table (ceci dépend du VACUUM donc le chiffre n'est pas toujours exact). Mais dès que je clique sur OK, je me retrouve avec 0 objets dans l'onglet "Base de données" de "l'espace de travail".
Du coup je me demande si mes données sont au bon format mais impossible de trouver le format que IGNMap prend pour ce type de données. Y'a t'il des prérequis ?
De plus je vois qu'il met ma "base de données" dans l'onglet "Carte" et je ne comprend pas pourquoi.
Merci d'avance pour vos idées.
Dernière modification par ffwrude (Fri 11 October 2013 13:14)
Hors ligne
#2 Fri 11 October 2013 13:24
- fbecir
- Participant assidu
- Lieu: Saint-Mandé
- Date d'inscription: 16 Sep 2008
- Messages: 513
Re: IGNMAP Postgis
Bonjour
Comment chargez-vous vos données ? Avec un import Shapefile et l'outil PostGis Shapefile Import / Export Manager ?
Sinon, vous pouvez m'envoyer une table ...
Cordialement
Hors ligne
#3 Fri 11 October 2013 13:33
- ffwrude
- Juste Inscrit !
- Date d'inscription: 11 Oct 2013
- Messages: 5
Re: IGNMAP Postgis
Je charge mes données en faisant : Fichier/Importer/Connexion PostgreSQL/Postgis puis en rentrant ma connexion.
Au début je n'avais pas de carte (je pensais pouvoir voir des points pour tester) mais la je viens de télécharger une carte de France que j'ai importer non pas en Shapefile mais en image.
Code:
CREATE TABLE roads ( road_id integer NOT NULL, road_name character varying(128), roads_geom geometry, CONSTRAINT enforce_srid_roads_geom CHECK ((st_srid(roads_geom) = (-1))), CONSTRAINT geometry_valid_check CHECK (isvalid(roads_geom)) );
Code:
INSERT INTO roads VALUES (1, 'PARIS POINT', '01010000006DC5FEB27B720440454772F90F814840'); INSERT INTO roads VALUES (2, 'linestring', '010200000003000000E44A3D0B42CA51C06EC328081E21454027BF45274BCA51C0F67B629D2A214540957CEC2E50CA51C07099D36531214540'); INSERT INTO roads VALUES (3, 'POLYGON', '010300000001000000050000006285C7C15ECB51C0ED88FC0DF531454028A46F245FCB51C009075EA6F731454047DED1E65DCB51C0781C510EF83145404871A7835DCB51C0EBDAEE75F53145406285C7C15ECB51C0ED88FC0DF5314540');
Les 3 lignes ont été insérées en utilisant des POINT(X,Y), des PLYGON(liste) et des STRINGLIST()
Hors ligne
#4 Fri 11 October 2013 14:22
- fbecir
- Participant assidu
- Lieu: Saint-Mandé
- Date d'inscription: 16 Sep 2008
- Messages: 513
Re: IGNMAP Postgis
Re-bonjour
Le problème vient du fait qu'IGNMap considère (sans doute à tort !) qu'une table contient un type de géométrie donné.
Donc par exemple, ce genre de table :
Code:
CREATE TABLE terrain_sport ( gid serial NOT NULL, source character varying(27), nature character varying(30), geom geometry(PolygonZM), CONSTRAINT terrain_sport_pkey PRIMARY KEY (gid) )
Ce genre de déclaration de table qui est généré par le loader Shapefile PostGis. Là, j'indique que mes terrains de sport sont tous des géométries de type PolygonZM.
Donc dans votre exemple, si vous avez besoin d'objets de 3 types (ponctuel, linéaire et polygone), il faudrait créer 3 tables.
Cordialement
Dernière modification par fbecir (Fri 11 October 2013 14:22)
Hors ligne
#5 Fri 11 October 2013 14:23
- ffwrude
- Juste Inscrit !
- Date d'inscription: 11 Oct 2013
- Messages: 5
Re: IGNMAP Postgis
Non je n'en ai pas du tout besoin c'était pour tester. Je n'ai pas créer de type dans ma table geometry.
Donc je peux faire
geom geometry(POINT) ?
Hors ligne
#6 Fri 11 October 2013 14:36
- ffwrude
- Juste Inscrit !
- Date d'inscription: 11 Oct 2013
- Messages: 5
Re: IGNMAP Postgis
Je viens d'essayer votre requête mais Postgres me dit que je ne peux pas définir de type sur GEOMETRY
Code:
ERROR: type modifier is not allowed for type "geometry" LINE 6: geom geometry(PolygonZM)
Hors ligne
#7 Fri 11 October 2013 14:41
- fbecir
- Participant assidu
- Lieu: Saint-Mandé
- Date d'inscription: 16 Sep 2008
- Messages: 513
Re: IGNMAP Postgis
Et :
Code:
geom geometry(Polygon)
Cela marche mieux ?
Je suis sous PostGis 2 / PostgreSQL 9.2.
Hors ligne
#8 Fri 11 October 2013 14:43
- ffwrude
- Juste Inscrit !
- Date d'inscription: 11 Oct 2013
- Messages: 5
Re: IGNMAP Postgis
Je pense que le probleme vient que j'utilise postgis 1.5 et que ce type de requete n'existe qu'a partir de la version 2 il faut que je trouve comment upgrade postgis sur ma version d'ubuntu
Votre exemple ne fonctionne pas mais d'après ce que je peux lire il est peut probable que cela fonctionne sur la 1.5
Je vais déja essayer de passer en postgis 2
Hors ligne