[postgis-tickets] [PostGIS] #4755: ST_Transform of valid polygon can produce invalid polygon
PostGIS
trac at osgeo.org
Fri Sep 18 01:03:00 PDT 2020
#4755: ST_Transform of valid polygon can produce invalid polygon
--------------------------+---------------------------
Reporter: rouen | Owner: pramsey
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 3.1.0
Component: postgis | Version: 3.0.x
Keywords: ST_Transform |
--------------------------+---------------------------
Using ST_Transform to change SRID from 3857 to 4326 can produce invalid
(self-intersecting) polygon from valid one.
Test case (this is simplified land polygon from OSM dataset):
WITH sample AS
(
SELECT ST_GeomFromText('MULTIPOLYGON(((2382720.17390635
9089461.95191981,2382367.6918707 9089034.6330938,2383639.33894183
9088936.19228217,2383491.66250535 9088320.85158849,2382449.73433542
9088378.30497631,2382055.93050479 9088845.95402014,2381571.89109492
9088566.99620937,2382909.16100587 9087525.07043225,2383385.00730122
9087713.76366274,2382367.6918707 9086433.9341019,2383007.61196353
9086589.80403919,2382892.75251293 9086056.52215661,2383387.76802459
9086009.53671596,2384109.85303357 9086307.94844515,2383500.05599495
9084868.129924,2384106.96985876 9084899.76660559,2383959.29342227
9083792.17446382,2384344.89300643 9083513.24218185,2383385.00730122
9082274.42190291,2382950.18223823 9082971.7746775,2381932.87793967
9082873.34378008,2382088.74749067 9084563.39240152,2382671.24899015
9084481.35648623,2382310.2621454 9085268.94495686,2381481.64438374
9084021.89443657,2381875.44821437 9082331.85126724,2382523.57255366
9081798.56835936,2381982.09228655 9079919.82309238,2381916.46944672
9081101.23196672,2381645.72931316 9081019.18678447,2381350.37644019
9078295.40449812,2380538.16717147 9079558.84194849,2381055.03469917
9081757.55388556,2380267.42703791 9082643.61171947,2380710.45634737
9083168.68945391,2379931.06406453 9083021.01509475,2379233.7142464
9083759.36841078,2378442.67794482 9082959.88657981,2378604.00215088
9083424.05072713,2377563.78830111 9083562.16830069,2377341.87289622
9083907.25370813,2377807.53345815 9084052.13288586,2376895.52626593
9084309.0425308,2376862.720412 9084932.57788238,2377600.28996214
9085547.16258457,2376452.50808842 9085383.80323754,2376772.47370081
9086351.87675873,2377839.0034782 9086934.37453989,2379594.6899592
9089526.88193449,2380136.17022631 9089494.07408576,2379758.77488863
9090478.570831,2380341.26525615 9089937.0906658,2380251.02967691
9090511.38319048,2379397.79917583 9090659.06515612,2379307.55246464
9091061.06154116,2380316.65251674 9092365.52577592,2381383.19342608
9091717.39068873,2381227.31274312 9092652.66570207,2381670.34205258
9093128.5061353,2382991.20347059 9091815.82075834,2381965.6837936
9091020.04296678,2382195.4026948 9090019.11564374,2380972.99223445
9088796.72250146,2381941.08218614 9089764.79230159,2382720.17390635
9089461.95191981)))', 3857) AS geom
)
SELECT ST_IsValid(sample.geom), ST_IsValid(ST_Transform(sample.geom,
4326))
FROM sample
Version info:
POSTGIS="3.0.1 ec2a9aa" [EXTENSION] PGSQL="120" GEOS="3.7.1-CAPI-1.11.1
27a5e771" PROJ="Rel. 4.9.3, 15 August 2016" LIBXML="2.9.4"
LIBJSON="0.12.1" LIBPROTOBUF="1.2.1" WAGYU="0.4.3 (Internal)"
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/4755>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list