Regina Obe
05a1518761
References #4251 for PostGIS 3.0 git-svn-id: http://svn.osgeo.org/postgis/trunk@17062 b70326c6-7e19-0410-871a-916f4a2858ee
131 lines
3.4 KiB
MySQL
131 lines
3.4 KiB
MySQL
-- This scripts add some features to the ones defined by load_topology.sql
|
|
-- and then runs some binary predicates on them.
|
|
--
|
|
|
|
#define DO_POINT_POINT_INTERSECTS 1
|
|
#define DO_POINT_LINE_INTERSECTS 1
|
|
#define DO_LINE_LINE_INTERSECTS 1
|
|
#define DO_POINT_POLYGON_INTERSECTS 1
|
|
#define DO_LINE_POLYGON_INTERSECTS 1
|
|
#define DO_POLYGON_POLYGON_INTERSECTS 1
|
|
#define DO_POINT_POINT_EQUALS 1
|
|
#define DO_LINE_LINE_EQUALS 1
|
|
#define DO_POLYGON_POLYGON_EQUALS 1
|
|
|
|
BEGIN;
|
|
|
|
#if DO_POINT_POINT_INTERSECTS
|
|
|
|
-- Detect intersections between traffic_signs
|
|
|
|
SELECT 'POINT/POINT INTERSECTS' as operation;
|
|
|
|
SELECT a.feature_name, b.feature_name FROM
|
|
features.traffic_signs a, features.traffic_signs b
|
|
WHERE a.fid < b.fid AND @SCHEMA@intersects(a.@COLUMN@, b.@COLUMN@);
|
|
|
|
#endif
|
|
|
|
#if DO_POINT_LINE_INTERSECTS
|
|
|
|
-- Detect intersections between city_streets and traffic_signs
|
|
|
|
SELECT 'POINT/LINE INTERSECTS' as operation;
|
|
|
|
SELECT a.feature_name, b.feature_name FROM
|
|
features.traffic_signs a, features.city_streets b
|
|
WHERE @SCHEMA@intersects(a.@COLUMN@, b.@COLUMN@);
|
|
|
|
#endif
|
|
|
|
#if DO_LINE_LINE_INTERSECTS
|
|
|
|
-- Detect intersections between city_streets
|
|
|
|
SELECT 'LINE/LINE INTERSECTS' as operation;
|
|
|
|
SELECT a.feature_name, b.feature_name FROM
|
|
features.city_streets a, features.city_streets b
|
|
WHERE a.fid < b.fid AND @SCHEMA@intersects(a.@COLUMN@, b.@COLUMN@);
|
|
#endif
|
|
|
|
#if DO_POINT_POLYGON_INTERSECTS
|
|
|
|
-- Detect intersections between traffic_signs and land_parcels
|
|
|
|
SELECT 'POINT/POLY INTERSECTS' as operation;
|
|
|
|
SELECT a.feature_name, b.feature_name FROM
|
|
features.traffic_signs a, features.land_parcels b
|
|
WHERE @SCHEMA@intersects(a.@COLUMN@, b.@COLUMN@);
|
|
#endif
|
|
|
|
#if DO_LINE_POLYGON_INTERSECTS
|
|
|
|
-- Detect intersections between city_streets and land_parcels
|
|
|
|
SELECT 'LINE/POLY INTERSECTS' as operation;
|
|
|
|
SELECT a.feature_name, b.feature_name FROM
|
|
features.city_streets a, features.land_parcels b
|
|
WHERE @SCHEMA@intersects(a.@COLUMN@, b.@COLUMN@);
|
|
#endif
|
|
|
|
#if DO_POLYGON_POLYGON_INTERSECTS
|
|
|
|
-- Detect intersections between land_parcels and land_parcels
|
|
|
|
SELECT 'POLY/POLY INTERSECTS' as operation;
|
|
|
|
SELECT a.feature_name, b.feature_name FROM
|
|
features.land_parcels a, features.land_parcels b
|
|
WHERE a.fid < b.fid AND @SCHEMA@intersects(a.@COLUMN@, b.@COLUMN@);
|
|
#endif
|
|
|
|
#if DO_POINT_POINT_EQUALS
|
|
|
|
SELECT 'POINT/POINT EQUALS' as operation;
|
|
|
|
SELECT a.feature_name, b.feature_name FROM
|
|
features.traffic_signs a, features.traffic_signs b
|
|
WHERE a.fid < b.fid AND @SCHEMA@equals(a.@COLUMN@, b.@COLUMN@);
|
|
|
|
#endif
|
|
|
|
#if DO_LINE_LINE_EQUALS
|
|
|
|
SELECT 'LINE/LINE EQUALS' as operation;
|
|
|
|
SELECT a.feature_name, b.feature_name FROM
|
|
features.city_streets a, features.city_streets b
|
|
WHERE a.fid < b.fid AND @SCHEMA@equals(a.@COLUMN@, b.@COLUMN@);
|
|
|
|
#endif
|
|
|
|
#if DO_POLYGON_POLYGON_EQUALS
|
|
|
|
SELECT 'POLYGON/POLYGON EQUALS' as operation;
|
|
|
|
SELECT a.feature_name, b.feature_name FROM
|
|
features.land_parcels a, features.land_parcels b
|
|
WHERE a.fid < b.fid AND @SCHEMA@equals(a.@COLUMN@, b.@COLUMN@);
|
|
|
|
#endif
|
|
|
|
SELECT 'POINT/POINT EQUALS (simple/hierarchical)' as operation;
|
|
|
|
SELECT a.feature_name, b.feature_name
|
|
FROM features.traffic_signs a, features.big_signs b
|
|
WHERE a.fid < b.fid AND @SCHEMA@equals(a.feature, b.feature)
|
|
ORDER BY a.feature_name;
|
|
|
|
SELECT 'POLYGON/POLYGON EQUALS (simple/hierarchical)' as operation;
|
|
|
|
SELECT a.feature_name, b.feature_name
|
|
FROM features.land_parcels a, features.big_parcels b
|
|
WHERE a.fid < b.fid AND @SCHEMA@equals(a.feature, b.feature)
|
|
ORDER BY a.feature_name;
|
|
|
|
END;
|
|
|