wiki:Cookbook CCM21_France

this is ticket: #49 We need to only select a geographical region from the ccm plus all downstream segments within this region.
Below we use the ST_Contains function

Warning st_contains has been changed by st_intersects

/*boolean ST_Contains(geometry geomA, geometry geomB);
Description
Geometry A contains Geometry B 
*/boolean ST_Intersects(  geometry geomA  , raster rastB  );
Description
Geometry A intersects Geometry B 
*/
-- first trial..
/*
SELECT count (*) from ccm21.riversegments r
join (SELECT ST_Union(f.the_geom) as singlegeom
    FROM france.departement As f) as sub
ON ST_Intersects(sub.singlegeom,r.the_geom); 
*/
 -- we try to get the vector of seaoutlets that are within the geographical area

-- a table containing three columns

 drop table  if exists france.wso;
 CREATE TABLE france.wso (
 id serial PRIMARY KEY,
 wso_id integer,
 area varchar(12)
 )
insert into france.wso(wso_id) 
select distinct on (wso_id)  wso_id from ccm21.riversegments r
join (SELECT ST_Union(f.the_geom) as singlegeom
    FROM france.departement As f) as sub
ON ST_Intersects(sub.singlegeom,r.the_geom); --170828 lines   (with st_contains 170703 lines)

UPDATE france.wso set area='France' where area IS NULL --693 sea nodes

Suppresion des lignes avec wso_id=291495 et 442529

delete from france.wso where wso_id=291495 or wso_id=442529;
select * from ccm21.riversegments where wso_id in (select wso_id from france.wso where area='France')--170703 lines
CREATE INDEX france_wso_id
  ON france.wso
  (wso_id);

source:eda/data/Docs/trac/CCM21/riversegmentsfrance.jpg

-- pour des essais sélection de la Bretagne
insert into france.wso(wso_id) 
select distinct on (wso_id)  wso_id from ccm21.riversegments r
join (SELECT the_geom
    FROM france.region where code_reg='53') as sub
ON ST_Contains(sub.the_geom,r.the_geom); --170703 lines

UPDATE france.wso set area='Bretagne' where area IS NULL
select * from ccm21.riversegments where wso_id in (select wso_id from france.wso where area='Bretagne')--2115 lines

Creating local tables for Britany (to enhance speed and allow fast testing and displaying in Qgis

-- Creating a table for riversegments Bretagne
DROP TABLE IF EXISTS ccm21.riversegments_Bretagne;   
CREATE TABLE  ccm21.riversegments_Bretagne AS
    SELECT * FROM ccm21.riversegments
        WHERE wso_id IN (SELECT wso_id FROM france.wso WHERE area='Bretagne');
ALTER TABLE ccm21.riversegments_Bretagne ADD CONSTRAINT c_pk_gid_riversegments_Bretagne PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_Bretagne', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_Bretagne LIMIT 1;

-- creating a table for catchments Bretagne.
DROP TABLE IF EXISTS ccm21.catchments_Bretagne;   
CREATE TABLE  ccm21.catchments_Bretagne AS
    SELECT * FROM ccm21.catchments
        WHERE wso_id IN (SELECT wso_id FROM france.wso WHERE area='Bretagne');  
ALTER TABLE ccm21.catchments_Bretagne ADD CONSTRAINT c_pk_gid_catchments_Bretagne PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'catchments_Bretagne', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.catchments_Bretagne LIMIT 1;

Table for France

DROP TABLE IF EXISTS ccm21.riversegments_france;   
CREATE TABLE  ccm21.riversegments_france AS
    SELECT * FROM ccm21.riversegments
        WHERE wso_id IN (SELECT wso_id FROM france.wso WHERE area='France');
ALTER TABLE ccm21.riversegments_France ADD CONSTRAINT c_pk_gid_riversegments_france PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_France', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_france LIMIT 1;
alter table ccm21.riversegments_france add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_france add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_france add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_france ON ccm21.riversegments_france
  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 
-- creating a table for catchments france
DROP TABLE IF EXISTS ccm21.catchments_france;   
CREATE TABLE  ccm21.catchments_france AS
SELECT * FROM ccm21.catchments
WHERE wso_id IN (SELECT wso_id FROM france.wso WHERE area='France'); 
               
ALTER TABLE ccm21.catchments_france ADD CONSTRAINT c_pk_gid_catchments_france PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'catchments_france', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.catchments_france LIMIT 1;

alter table ccm21.catchments_france add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.catchments_france add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTIPOLYGON'::text OR the_geom IS NULL);
alter table ccm21.catchments_france add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_catchments_france ON ccm21.catchments_france
  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 

CREATE INDEX indexcatchmentsfrance_wso1_id
  ON ccm21.catchments_france
  USING btree
  (wso1_id);

Creating table for each uga

---Adour
DROP TABLE IF EXISTS ccm21.riversegments_Adour;   
CREATE TABLE  ccm21.riversegments_Adour AS
    SELECT * FROM ccm21.riversegments
        WHERE wso_id IN (SELECT wso_id FROM europe.wso WHERE area='Adour');
ALTER TABLE ccm21.riversegments_Adour ADD CONSTRAINT c_pk_gid_riversegments_adour PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_Adour', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_Adour LIMIT 1;
alter table ccm21.riversegments_Adour add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_Adour add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_Adour add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_Adour ON ccm21.riversegments_Adour
  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 

---ArtoisPicardie
DROP TABLE IF EXISTS ccm21.riversegments_ArtoisPicardie;   
CREATE TABLE  ccm21.riversegments_ArtoisPicardie AS
    SELECT * FROM ccm21.riversegments
        WHERE wso_id IN (SELECT wso_id FROM europe.wso WHERE area='ArtoisPicardie');
ALTER TABLE ccm21.riversegments_ArtoisPicardie ADD CONSTRAINT c_pk_gid_riversegments_ArtoisPicardie PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_ArtoisPicardie', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_ArtoisPicardie LIMIT 1;
alter table ccm21.riversegments_ArtoisPicardie add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_ArtoisPicardie add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_ArtoisPicardie add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_ArtoisPicardie ON ccm21.riversegments_ArtoisPicardie
  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 

---Bretagne
DROP TABLE IF EXISTS ccm21.riversegments_Bretagne;   
CREATE TABLE  ccm21.riversegments_Bretagne AS
    SELECT * FROM ccm21.riversegments
        WHERE wso_id IN (SELECT wso_id FROM europe.wso WHERE area='Bretagne');
ALTER TABLE ccm21.riversegments_Bretagne ADD CONSTRAINT c_pk_gid_riversegments_Bretagne PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_Bretagne', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_Bretagne LIMIT 1;
alter table ccm21.riversegments_Bretagne add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_Bretagne add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_Bretagne add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_Bretagne ON ccm21.riversegments_Bretagne
  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 

---Garonne
DROP TABLE IF EXISTS ccm21.riversegments_Garonne;   
CREATE TABLE  ccm21.riversegments_Garonne AS
    SELECT * FROM ccm21.riversegments
        WHERE wso_id IN (SELECT wso_id FROM europe.wso WHERE area='Garonne');
ALTER TABLE ccm21.riversegments_Garonne ADD CONSTRAINT c_pk_gid_riversegments_Garonne PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_Garonne', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_Garonne LIMIT 1;
alter table ccm21.riversegments_Garonne add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_Garonne add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_Garonne add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_Garonne ON ccm21.riversegments_Garonne
  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 

---Loire
DROP TABLE IF EXISTS ccm21.riversegments_Loire;   
CREATE TABLE  ccm21.riversegments_Loire AS
    SELECT * FROM ccm21.riversegments
        WHERE wso_id IN (SELECT wso_id FROM europe.wso WHERE area='Loire');
ALTER TABLE ccm21.riversegments_Loire ADD CONSTRAINT c_pk_gid_riversegments_Loire PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_Loire', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_Loire LIMIT 1;
alter table ccm21.riversegments_Loire add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_Loire add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_Loire add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_Loire ON ccm21.riversegments_Loire
  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 

---RhoneMediterranee
DROP TABLE IF EXISTS ccm21.riversegments_RhoneMediterranee;   
CREATE TABLE  ccm21.riversegments_RhoneMediterranee AS
    SELECT * FROM ccm21.riversegments
        WHERE wso_id IN (SELECT wso_id FROM europe.wso WHERE area='RhoneMediterranee');
ALTER TABLE ccm21.riversegments_RhoneMediterranee ADD CONSTRAINT c_pk_gid_riversegments_RhoneMediterranee PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_RhoneMediterranee', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_RhoneMediterranee LIMIT 1;
alter table ccm21.riversegments_RhoneMediterranee add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_RhoneMediterranee add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_RhoneMediterranee add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_RhoneMediterranee ON ccm21.riversegments_RhoneMediterranee
  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 

---Corse
DROP TABLE IF EXISTS ccm21.riversegments_Corse;   
CREATE TABLE  ccm21.riversegments_Corse AS
    SELECT * FROM ccm21.riversegments
        WHERE wso_id IN (SELECT wso_id FROM europe.wso WHERE area='Corse');
ALTER TABLE ccm21.riversegments_Corse ADD CONSTRAINT c_pk_gid_riversegments_Corse PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_Corse', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_Corse LIMIT 1;
alter table ccm21.riversegments_Corse add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_Corse add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_Corse add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_Corse ON ccm21.riversegments_Corse
  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 

---Rhin
DROP TABLE IF EXISTS ccm21.riversegments_Rhin;   
CREATE TABLE  ccm21.riversegments_Rhin AS
    SELECT * FROM ccm21.riversegments
        WHERE wso_id IN (SELECT wso_id FROM europe.wso WHERE area='Rhin');
ALTER TABLE ccm21.riversegments_Rhin ADD CONSTRAINT c_pk_gid_riversegments_Rhin PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_Rhin', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_Rhin LIMIT 1;
alter table ccm21.riversegments_Rhin add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_Rhin add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_Rhin add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_Rhin ON ccm21.riversegments_Rhin
  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 

---Meuse
DROP TABLE IF EXISTS ccm21.riversegments_Meuse;   
CREATE TABLE  ccm21.riversegments_Meuse AS
    SELECT * FROM ccm21.riversegments
        WHERE wso_id IN (SELECT wso_id FROM europe.wso WHERE area='Meuse');
ALTER TABLE ccm21.riversegments_Meuse ADD CONSTRAINT c_pk_gid_riversegments_Meuse PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_Meuse', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_Meuse LIMIT 1;
alter table ccm21.riversegments_Meuse add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_Meuse add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_Meuse add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_Meuse ON ccm21.riversegments_Meuse
  USING GIST ( the_geom GIST_GEOMETRY_OPS );  

---SeineNormandie
DROP TABLE IF EXISTS ccm21.riversegments_SeineNormandie;   
CREATE TABLE  ccm21.riversegments_SeineNormandie AS
    SELECT * FROM ccm21.riversegments
        WHERE wso_id IN (SELECT wso_id FROM europe.wso WHERE area='SeineNormandie');
ALTER TABLE ccm21.riversegments_SeineNormandie ADD CONSTRAINT c_pk_gid_riversegments_SeineNormandie PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_SeineNormandie', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_SeineNormandie LIMIT 1;
alter table ccm21.riversegments_SeineNormandie add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_SeineNormandie add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_SeineNormandie add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_SeineNormandie ON ccm21.riversegments_SeineNormandie
  USING GIST ( the_geom GIST_GEOMETRY_OPS );  

Pour rivernodes pour la France

DROP TABLE IF EXISTS ccm21.rivernodes_france;   
CREATE TABLE  ccm21.rivernodes_france AS
    SELECT * FROM ccm21.rivernodes
        WHERE wso_id IN (SELECT wso_id FROM france.wso WHERE area='France');
ALTER TABLE ccm21.rivernodes_france ADD CONSTRAINT c_pk_gid_rivernodes_France PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'rivernodes_France', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.rivernodes_france LIMIT 1;
alter table ccm21.rivernodes_france add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.rivernodes_france add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'POINT'::text OR the_geom IS NULL);
alter table ccm21.rivernodes_france add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_rivernodes_france ON ccm21.rivernodes_france
  USING GIST ( the_geom GIST_GEOMETRY_OPS );  

POSE EMU EXTRACTION

---Anglian River basin
DROP TABLE IF EXISTS ccm21.riversegments_Anglian;   
CREATE TABLE  ccm21.riversegments_Anglian AS
    SELECT * FROM ccm21.riversegments
        WHERE wso1_id IN (SELECT wso1_id FROM europe.wso1 WHERE area='Anglian');
ALTER TABLE ccm21.riversegments_Anglian ADD CONSTRAINT c_pk_gid_riversegments_Anglian PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_Anglian ', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_Anglian LIMIT 1;
alter table ccm21.riversegments_Anglian add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_Anglian add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_Anglian add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_Anglian ON ccm21.riversegments_Anglian  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 

---Western River Basin
DROP TABLE IF EXISTS ccm21.riversegments_Western;   
CREATE TABLE  ccm21.riversegments_Western AS
    SELECT * FROM ccm21.riversegments
        WHERE wso1_id IN (SELECT wso1_id FROM europe.wso1 WHERE area='Western');
ALTER TABLE ccm21.riversegments_Western ADD CONSTRAINT c_pk_gid_riversegments_Western PRIMARY KEY  (gid);
INSERT INTO geometry_columns(f_table_catalog, f_table_schema, f_table_name, f_geometry_column, coord_dimension, srid, "type")
SELECT '', 'ccm21', 'riversegments_Western ', 'the_geom', ST_CoordDim(the_geom), ST_SRID(the_geom), GeometryType(the_geom)
FROM ccm21.riversegments_Western LIMIT 1;
alter table ccm21.riversegments_Western add CONSTRAINT enforce_dims_the_geom CHECK (ndims(the_geom) = 2);
alter table ccm21.riversegments_Western add    CONSTRAINT enforce_geotype_the_geom CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL);
alter table ccm21.riversegments_Western add  CONSTRAINT enforce_srid_the_geom CHECK (srid(the_geom) = 3035);
CREATE INDEX index_riversegments_Western ON ccm21.riversegments_Western  USING GIST ( the_geom GIST_GEOMETRY_OPS ); 
Last modified 7 years ago Last modified on Jun 1, 2018 6:26:25 PM