Adds country cleaning in extension
This commit is contained in:
@@ -4,14 +4,14 @@
|
|||||||
CREATE OR REPLACE FUNCTION geocode_admin1_polygons(name text[]) RETURNS SETOF geocode_admin_v1
|
CREATE OR REPLACE FUNCTION geocode_admin1_polygons(name text[]) RETURNS SETOF geocode_admin_v1
|
||||||
LANGUAGE plpgsql SECURITY DEFINER
|
LANGUAGE plpgsql SECURITY DEFINER
|
||||||
AS $$
|
AS $$
|
||||||
DECLARE
|
DECLARE
|
||||||
ret geocode_admin_v1%rowtype;
|
ret geocode_admin_v1%rowtype;
|
||||||
BEGIN
|
BEGIN
|
||||||
FOR ret IN
|
FOR ret IN
|
||||||
SELECT
|
SELECT
|
||||||
q, geom, CASE WHEN geom IS NULL THEN FALSE ELSE TRUE END AS success
|
q, geom, CASE WHEN geom IS NULL THEN FALSE ELSE TRUE END AS success
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT
|
||||||
q, (
|
q, (
|
||||||
SELECT the_geom
|
SELECT the_geom
|
||||||
FROM global_province_polygons
|
FROM global_province_polygons
|
||||||
@@ -20,7 +20,7 @@ CREATE OR REPLACE FUNCTION geocode_admin1_polygons(name text[]) RETURNS SETOF ge
|
|||||||
) geom
|
) geom
|
||||||
FROM (SELECT trim(replace(lower(unnest(name)),'.',' ')) c, unnest(name) q) d
|
FROM (SELECT trim(replace(lower(unnest(name)),'.',' ')) c, unnest(name) q) d
|
||||||
) v
|
) v
|
||||||
LOOP
|
LOOP
|
||||||
RETURN NEXT ret;
|
RETURN NEXT ret;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
RETURN;
|
RETURN;
|
||||||
@@ -36,11 +36,11 @@ CREATE OR REPLACE FUNCTION geocode_admin1_polygons(name text[], inputcountry tex
|
|||||||
BEGIN
|
BEGIN
|
||||||
|
|
||||||
FOR ret IN WITH
|
FOR ret IN WITH
|
||||||
p AS (SELECT r.c, r.q, (SELECT iso3 FROM country_decoder WHERE lower(inputcountry) = ANY (synonyms)) i FROM (SELECT trim(replace(lower(unnest(name)),'.',' ')) c, unnest(name) q) r)
|
p AS (SELECT r.c, r.q, (SELECT iso3 FROM country_decoder WHERE lower(regexp_replace(inputcountry, '[^a-zA-Z\u00C0-\u00ff]+', '', 'g'))::text = ANY (synonyms)) i FROM (SELECT trim(replace(lower(unnest(name)),'.',' ')) c, unnest(name) q) r)
|
||||||
SELECT
|
SELECT
|
||||||
q, geom, CASE WHEN geom IS NULL THEN FALSE ELSE TRUE END AS success
|
q, geom, CASE WHEN geom IS NULL THEN FALSE ELSE TRUE END AS success
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT
|
||||||
q, (
|
q, (
|
||||||
SELECT the_geom
|
SELECT the_geom
|
||||||
FROM global_province_polygons
|
FROM global_province_polygons
|
||||||
@@ -79,12 +79,12 @@ CREATE OR REPLACE FUNCTION geocode_admin1_polygons(names text[], country text[])
|
|||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
|
||||||
FOR ret IN WITH
|
FOR ret IN WITH
|
||||||
p AS (SELECT r.p, r.q, c, (SELECT iso3 FROM country_decoder WHERE lower(r.c) = ANY (synonyms)) i FROM (SELECT trim(replace(lower(unnest(names)),'.',' ')) p, unnest(names) q, unnest(country) c) r)
|
p AS (SELECT r.p, r.q, c, (SELECT iso3 FROM country_decoder WHERE lower(regexp_replace(r.c, '[^a-zA-Z\u00C0-\u00ff]+', '', 'g'))::text = ANY (synonyms)) i FROM (SELECT trim(replace(lower(unnest(names)),'.',' ')) p, unnest(names) q, unnest(country) c) r)
|
||||||
SELECT
|
SELECT
|
||||||
q, c, geom, CASE WHEN geom IS NULL THEN FALSE ELSE TRUE END AS success
|
q, c, geom, CASE WHEN geom IS NULL THEN FALSE ELSE TRUE END AS success
|
||||||
FROM (
|
FROM (
|
||||||
SELECT
|
SELECT
|
||||||
q, c, (
|
q, c, (
|
||||||
SELECT the_geom
|
SELECT the_geom
|
||||||
FROM global_province_polygons
|
FROM global_province_polygons
|
||||||
|
|||||||
Reference in New Issue
Block a user