Releases: jjrom/itag
iTag v3.1.0
Check geometry validity before tagging. Throws exception if input footprint is invalid
iTag v3.0.18
Add individual "areaLimit" option for all Taggers
iTag v3.0.17
Correct issue with invalid character in install scripts
v3.0.16
iTag v3.0.15
Replace previous v3.0.14 release (a commit was missing !)
iTag v3.0.14
Clean code to avoid exception with invalid input geometries
iTag v3.0.13
Correct an issue in pcover and gcover percentage for region entities
iTag v3.0.12
Add Tagger_Toponyms.
This tagger returns array of toponyms contained within the input footprint. This array is ordered by ascending distance between the footprint centroid and the toponym
iTag v3.0.11
Release v3.0.10 is broken - use this release !
iTag v3.0.9
Updates/corrections of installation procedure and scripts (thanks to @RailwayMan )
Add true support for input polygons crossing the -180/180 line
BREAKING CHANGE
On existing iTag installation, you must add the ST_SplitDateLine function to the database - see below
CREATE OR REPLACE FUNCTION ST_SplitDateLine(geom_in geometry)
RETURNS geometry AS $$
DECLARE
geom_out geometry;
blade geometry;
BEGIN
blade := ST_SetSrid(ST_MakeLine(ST_MakePoint(180, -90), ST_MakePoint(180, 90)), 4326);
IF ST_XMin(geom_in) < -90 AND ST_XMax(geom_in) > 90 THEN
-- Add 360 to all negative longitudes
WITH tmp0 AS (
SELECT geom_in AS geom
), tmp AS (
SELECT st_dumppoints(geom) AS dmp FROM tmp0
), tmp1 AS (
SELECT (dmp).path,
CASE WHEN st_X((dmp).geom) < 0 THEN st_setSRID(st_MakePoint(st_X((dmp).geom) + 360, st_Y((dmp).geom)), 4326)
ELSE (dmp).geom END AS geom
FROM tmp
ORDER BY (dmp).path[2]
), tmp2 AS (
SELECT st_dump(st_split(st_makePolygon(st_makeline(geom)), blade)) AS d
FROM tmp1
)
SELECT ST_Union(
(
CASE WHEN ST_Xmax((d).geom) > 180 THEN ST_Translate((d).geom, -360, 0, 0)
ELSE (d).geom END
)
)
INTO geom_out
FROM tmp2;
ELSE
RETURN geom_in;
END IF;
RETURN geom_out;
END
$$ LANGUAGE 'plpgsql';
EOF