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

Printemps des cartes 2024

#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: 509

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: 509

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: 509

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 sad 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 sad

Hors ligne

 

Pied de page des forums

Powered by FluxBB