ddd:geom

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
ddd:geom [2016/09/29 17:21]
thomas.milon@fcbn.fr [Import de données en WKT]
ddd:geom [2022/03/07 12:00] (Version actuelle)
Ligne 25: Ligne 25:
 Le champ geom est une géométrie Postgis. C'est un type de champ particulier qui ne fonctionne pas spécifiquement avec un XY car il a implicitement un système de coordonnée (ou géodésique tout du moins) et un format spécifique. Le champ geom est une géométrie Postgis. C'est un type de champ particulier qui ne fonctionne pas spécifiquement avec un XY car il a implicitement un système de coordonnée (ou géodésique tout du moins) et un format spécifique.
  
-==== Import de XY ==== +Retrouvez ici [[:import_donnees_geo_postgres|comment importer des données géographiques dans Postgresql]]
-Il est possible de renseigner ce champ à partir de point X et Y et d'un système de projection.Pour se faire, les éléments suivants peuvent être réalisés : +
- +
-1. Construire une table temporaire pour y importer les X et Y +
-<code> +
-CREATE TABLE public.releve_xy +
-+
-  cd_jdd character varying NOT NULL, +
-  cd_releve character varying NOT NULL, +
-  cd_releve_perm character varying, +
-  coor_x  float NOT NULL, +
-  coor_y float NOT NULL, +
-  geom geometry, +
-  cd_obj_geo character varying, +
-  CONSTRAINT releve_localisation_pkey PRIMARY KEY (cd_jdd, cd_releve), +
-  CONSTRAINT geom_srid CHECK (st_srid(geom) = 2154) +
-); +
-</code> +
- +
-2. Importer les relevé et XY dans cette table : +
-<code> +
-COPY public.releve_xy FROM 'C:/....' CSV HEADER ENCODING 'UTF8' DELIMITER ';'; +
---- Remplacer C:/.... par lchemin vers le fichier; +
---- Attention aux option à la fin de cette ligne (HEADER = un en-tête est présente par exemple) +
-</code> +
-ATTENTION : les X et Y ne doivent pas utiliser de virgule (,) mais des points (.) en tant que séparateur +
- +
-3. la fonction ST_MakePoint va construire la géométrie et la fonction ST_SetSRID va définir le système de projection (2154 pour RGF93) : +
-<code> +
-UPDATE public.releve_xy SET geom = ST_SetSRID(ST_MakePoint(coor_x, coor_y),2154); +
-</code> +
- +
-4. Tu peux ensuite renseigner la table localisation à partir de cette table : +
-<code> +
-INSERT INTO libSchema.releve_localisation SELECT cd_jdd, cd_releve, cd_releve_perm, geom, cd_obj_geo  FROM public.releve_xy; +
---- Remplacer libSchema par le nom de votre schema +
-</code> +
- +
-==== Import de données en WKT ==== +
-Il est possible de renseigner ce champ à partir de données au format WKT (Well-known text - par exemple : POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))) et d'un système de projection. Pour se faire, les éléments suivants peuvent être réalisés : +
- +
-1. Construire une table temporaire (attention au srid) +
-<code> +
-CREATE TABLE public.releve_wkt +
-+
-  cd_jdd character varying NOT NULL, +
-  cd_releve character varying NOT NULL, +
-  cd_releve_perm character varying, +
-  coor_wkt  character varying NOT NULL, +
-  geom geometry, +
-  cd_obj_geo character varying, +
-  CONSTRAINT releve_wkt_pkey PRIMARY KEY (cd_jdd, cd_releve), +
-  CONSTRAINT geom_srid CHECK (st_srid(geom) = 2154) +
-); +
- +
-</code> +
- +
-2. Importer les données dans cette table : +
-<code> +
-COPY public.releve_wkt FROM 'C:/....' CSV HEADER ENCODING 'UTF8' DELIMITER ';'; +
---- Remplacer C:/.... par le chemin vers le fichier; +
---- Attention aux option à la fin de cette ligne (HEADER = un en-tête est présente par exemple) +
-</code> +
-ATTENTION : les X et Y ne doivent pas utiliser de virgule (,) mais des points (.) en tant que séparateur +
- +
-3. la fonction ST_GeomFromText va construire la géométrie (attention au srid): +
-<code> +
-UPDATE public.releve_wkt SET geom = ST_Transform(ST_GeomFromText(coor_wkt,3948),2154); +
-</code> +
- +
-4. Tu peux ensuite renseigner la table localisation à partir de cette table : +
-<code> +
-INSERT INTO als.releve_localisation SELECT cd_jdd, cd_releve, cd_releve_perm, geom, cd_obj_geo  FROM public.releve_wkt; +
---- Remplacer libSchema par le nom de votre schema +
-</code> +
- +
  • ddd/geom.1475162473.txt.gz
  • Dernière modification: 2022/03/07 12:00
  • (modification externe)