diff --git a/scripts/create_tables_3948.sql b/scripts/create_tables_3948.sql index 3060f9e..280ea81 100644 --- a/scripts/create_tables_3948.sql +++ b/scripts/create_tables_3948.sql @@ -7,7 +7,7 @@ -- la table secteur gère les grands découpage de gestion -DROP TABLE IF EXISTS secteur CASCADE ; +DROP TABLE secteur CASCADE ; CREATE TABLE secteur ( id integer, @@ -32,12 +32,12 @@ INSERT INTO secteur VALUES (10,'Sant-Brieg -> Gwengamp','Saint-Brieuc -> Gwengam INSERT INTO secteur VALUES (999,'test','test'); -DROP TABLE IF EXISTS phase_1_trace_3948 CASCADE ; +DROP TABLE phase_1_trace_3948 CASCADE ; CREATE TABLE phase_1_trace_3948 ( ogc_fid integer, - secteur_id int, - section_nom text, + name text, + secteur int, ordre int, longueur numeric, the_geom geometry(LineString,3948), @@ -46,7 +46,7 @@ CREATE TABLE phase_1_trace_3948 CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 3948) ); -DROP TABLE IF EXISTS phase_1_pk_vip_3948 CASCADE ; +DROP TABLE phase_1_pk_vip_3948 CASCADE ; CREATE TABLE phase_1_pk_vip_3948 ( ogc_fid integer, @@ -59,14 +59,29 @@ CREATE TABLE phase_1_pk_vip_3948 ); +-- on crée aussi une version correcte en 4326 pour export vers umap +DROP TABLE phase_1_trace_4326 ; +CREATE TABLE phase_1_trace_4326 +( + ogc_fid integer, + name text, -- = section_nom + secteur_id int, + ordre int, + longueur numeric, + the_geom geometry(LineString,4326), + CONSTRAINT phase_1_trace_4326_pkey PRIMARY KEY (ogc_fid), + CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'LINESTRING'::text), + CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 4326) +); + + -- table des tronçons créés à partir des longs tracés -DROP TABLE IF EXISTS phase_1_trace_troncons_3948 CASCADE ; +DROP TABLE phase_1_trace_troncons_3948 CASCADE ; CREATE TABLE phase_1_trace_troncons_3948 ( uid bigint, - secteur_id int, - section_nom text, + secteur int, ordre bigint, km bigint, km_reel bigint, @@ -95,43 +110,24 @@ CREATE TABLE phase_1_pk_auto_3948 CONSTRAINT enforce_srid_the_geom CHECK (st_srid(the_geom) = 3948) );*/ - --- vue plus complète des tronçons -DROP VIEW IF EXISTS v_phase_1_trace_troncons_3948 CASCADE ; -CREATE VIEW v_phase_1_trace_troncons_3948 AS - SELECT - a.uid, - b.nom_br AS secteur_nom_br, b.nom_fr AS secteur_nom_fr, b.id AS secteur_id, - a.section_nom, - a.ordre, a.km, a.km_reel, a.longueur, a.the_geom - FROM phase_1_trace_troncons_3948 a JOIN secteur b ON a.secteur_id = b.id - ORDER BY secteur_id ASC, ordre ASC, km ASC ; - - -- vue des PK auto en fin de tronçon -DROP VIEW IF EXISTS phase_1_pk_auto_3948 CASCADE ; +DROP VIEW IF EXISTS phase_1_pk_auto_3948 ; CREATE VIEW phase_1_pk_auto_3948 AS SELECT - a.uid, - b.nom_br AS secteur_nom_br, b.nom_fr AS secteur_nom_fr, b.id AS secteur_id, - a.section_nom, - a.ordre, a.km, a.km_reel, a.longueur, + uid, secteur, ordre, km, km_reel, ST_Line_Interpolate_Point(the_geom, 1)::geometry(Point, 3948) AS the_geom - FROM phase_1_trace_troncons_3948 a JOIN secteur b ON a.secteur_id = b.id - ORDER BY secteur_id ASC, ordre ASC, km ASC ; + FROM phase_1_trace_troncons_3948 + ORDER BY secteur ASC, ordre ASC, km ASC ; -- la même mais en 4326 pour export -DROP VIEW IF EXISTS phase_1_pk_auto_4326 CASCADE ; +DROP VIEW IF EXISTS phase_1_pk_auto_4326 ; CREATE VIEW phase_1_pk_auto_4326 AS SELECT - uid, - secteur_nom_br, secteur_nom_fr, secteur_id, - section_nom, - ordre, km, km_reel, longueur, - ST_Transform(the_geom,4326)::geometry(Point, 4326) AS the_geom - FROM phase_1_pk_auto_3948 ; + uid, secteur, ordre, km, km_reel, + ST_Transform(the_geom,4326)::geometry(Point, 4326) AS the_geom + FROM phase_1_pk_auto_3948 + ORDER BY secteur ASC, ordre ASC, km ASC ; -ALTER TABLE v_phase_1_trace_troncons_3948 OWNER to redadeg; ALTER TABLE phase_1_pk_auto_3948 OWNER to redadeg; ALTER TABLE phase_1_pk_auto_4326 OWNER to redadeg; diff --git a/scripts/geojson_to_postgis.sh b/scripts/geojson_to_postgis.sh index 76958f5..9779f31 100755 --- a/scripts/geojson_to_postgis.sh +++ b/scripts/geojson_to_postgis.sh @@ -31,6 +31,8 @@ psql -U redadeg -d redadeg < load_tables_3948.sql # et on exporte vers Geojson rm phase_1_pk_auto.geojson ogr2ogr -f "GeoJSON" phase_1_pk_auto.geojson PG:"host=localhost user=redadeg password=redadeg dbname=redadeg" phase_1_pk_auto_4326 +rm phase_1_trace_4326.geojson +ogr2ogr -f "GeoJSON" phase_1_trace_4326.geojson PG:"host=localhost user=redadeg password=redadeg dbname=redadeg" phase_1_trace_4326 # les fichiers sont ensuite tout de suite visible dans umap # exports supplémentaires diff --git a/scripts/load_tables_3948.sql b/scripts/load_tables_3948.sql index ca54212..b43eb81 100644 --- a/scripts/load_tables_3948.sql +++ b/scripts/load_tables_3948.sql @@ -3,9 +3,8 @@ TRUNCATE phase_1_trace_3948 ; INSERT INTO phase_1_trace_3948 SELECT - ogc_fid, - secteur::int, -- secteur_id - name::text, -- section_nom + ogc_fid, name, + secteur::int, ordre::int, 0, ST_Transform(the_geom,3948) AS the_geom @@ -18,6 +17,20 @@ UPDATE phase_1_trace_3948 SET longueur = TRUNC( ST_Length(the_geom)::numeric / 1000 , 2) ; +-- on remplit la table trace 4326 pour exporter vers umap +TRUNCATE phase_1_trace_4326 ; +INSERT INTO phase_1_trace_4326 + SELECT + ogc_fid, + section_nom::text, -- name + secteur_id::int, + ordre::int, + longueur, + ST_Transform(the_geom,4326) AS the_geom + FROM phase_1_trace_3948 + ORDER BY secteur_id ASC, ordre ASC ; + + TRUNCATE phase_1_pk_vip_3948 ; INSERT INTO phase_1_pk_vip_3948 @@ -30,8 +43,7 @@ TRUNCATE phase_1_trace_troncons_3948 ; INSERT INTO phase_1_trace_troncons_3948 SELECT row_number() over() as uid, - secteur_id, - section_nom, + secteur, ordre, NULL AS km, NULL AS km_reel, @@ -44,18 +56,17 @@ INSERT INTO phase_1_trace_troncons_3948 FROM (SELECT ogc_fid, - secteur_id, - section_nom, + secteur, ordre, ST_LineMerge(the_geom)::geometry(LineString,3948) AS the_geom, ST_Length(the_geom) As length FROM phase_1_trace_3948 -- ce tri est le plus important - ORDER BY secteur_id ASC, ordre ASC + ORDER BY secteur ASC, ordre ASC ) AS t CROSS JOIN generate_series(0,10000) AS n WHERE n*1000.00/length < 1 - ORDER BY t.secteur_id ASC, t.ordre ASC ; + ORDER BY t.secteur ASC, t.ordre ASC ; -- mise à jour des attributs UPDATE phase_1_trace_troncons_3948