different results for ST_Relate with 3 parameters compared to those for ST_Relate with 2 parameters
Antonio Valanzano
anvalanz at gmail.com
Wed Oct 15 12:53:35 PDT 2025
Hi Paul
I have upgraded to PosGIS 3.5.3 and GEOS 3.13.1 as you can see from the
following output
"postgis_full_version"
"POSTGIS=""3.5.3 3.5.3"" [EXTENSION] PGSQL=""170""
GEOS=""3.13.1-CAPI-1.19.2"" PROJ=""8.2.1 NETWORK_ENABLED=OFF URL_ENDPOINT=
https://cdn.proj.org
USER_WRITABLE_DIRECTORY=C:\Windows\ServiceProfiles\NetworkService\AppData\Local/proj
DATABASE_PATH=C:\Program
Files\PostgreSQL\17\share\contrib\postgis-3.5\proj\proj.db"" (compiled
against PROJ 8.2.1) LIBXML=""2.12.5"" LIBJSON=""0.12""
LIBPROTOBUF=""1.2.1"" WAGYU=""0.5.0 (Internal)"" (core procs from ""3.5.2
3.5.2"" need upgrade)"
but the results are the same with one row for a query and 2 rows for the
other query.
Is this a known bug or no other user has already reported this behaviour ?
Antonio
Il giorno mer 15 ott 2025 alle ore 20:59 Paul Ramsey <
pramsey at cleverelephant.ca> ha scritto:
> Sorry, I still cannot replicate. My 3.5 build still returns both results.
> Maybe update to PostGIS 3.5.4 and GEOS 3.13.1 ?
> P.
>
> On Wed, Oct 15, 2025 at 11:25 AM Antonio Valanzano <anvalanz at gmail.com>
> wrote:
>
>> Here is the details of my installation:
>>
>> "postgis_full_version"
>> "POSTGIS=""3.5.2 3.5.2"" [EXTENSION] PGSQL=""170""
>> GEOS=""3.13.0-CAPI-1.19.0"" PROJ=""8.2.1 NETWORK_ENABLED=OFF URL_ENDPOINT=
>> https://cdn.proj.org
>> USER_WRITABLE_DIRECTORY=C:\Windows\ServiceProfiles\NetworkService\AppData\Local/proj
>> DATABASE_PATH=C:\Program
>> Files\PostgreSQL\17\share\contrib\postgis-3.5\proj\proj.db"" (compiled
>> against PROJ 8.2.1) LIBXML=""2.12.5"" LIBJSON=""0.12""
>> LIBPROTOBUF=""1.2.1"" WAGYU=""0.5.0 (Internal)"""
>>
>> Antonio
>>
>>
>>
>> Il giorno mer 15 ott 2025 alle ore 19:28 Paul Ramsey <
>> pramsey at cleverelephant.ca> ha scritto:
>>
>>> Maybe you have found an old bug? Running exactly the same SQL as you, I
>>> get two rows from each query.
>>>
>>> postgis=# SELECT
>>>
>>> d.id,
>>>
>>> ST_Relate(d.geom, l.geom) as patternMatrix
>>>
>>> FROM docks as d, lakes as l
>>>
>>> WHERE ST_Relate(d.geom, l.geom,
>>> '1FF00F212');
>>> id | patternmatrix
>>> ----+---------------
>>> 1 | 1FF00F212
>>> 2 | 1FF00F212
>>> (2 rows)
>>>
>>> postgis=# SELECT
>>> postgis-# d.id,
>>> postgis-# ST_Relate(d.geom, l.geom) as patternMatrix
>>> postgis-# FROM docks as d, lakes as l
>>> postgis-# WHERE ST_Relate(d.geom, l.geom) = '1FF00F212';
>>> id | patternmatrix
>>> ----+---------------
>>> 1 | 1FF00F212
>>> 2 | 1FF00F212
>>> (2 rows)
>>>
>>> postgis=#
>>> postgis=# select postgis_full_version();
>>>
>>>
>>>
>>> postgis_full_version
>>>
>>>
>>>
>>>
>>> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>>> POSTGIS="3.7.0dev 3.6.0rc2-134-g5dc95f1bc" [EXTENSION] PGSQL="180"
>>> GEOS="3.15.0dev-CAPI-1.21.0" PROJ="9.6.2 NETWORK_ENABLED=ON URL_ENDPOINT=
>>> https://cdn.proj.org
>>> USER_WRITABLE_DIRECTORY=/Users/pramsey/Library/Application Support/proj
>>> DATABASE_PATH=/opt/homebrew/Cellar/proj/9.6.2/share/proj/proj.db" (compiled
>>> against PROJ 9.6.2) LIBXML="2.9.13" LIBJSON="0.18" LIBPROTOBUF="1.5.2"
>>> WAGYU="0.5.0 (Internal)" (core procs from "3.7.0dev
>>> 3.6.0rc2-125-g747d7732b" need upgrade)
>>>
>>> On Wed, Oct 15, 2025 at 9:22 AM Antonio Valanzano <anvalanz at gmail.com>
>>> wrote:
>>>
>>>> I am following the "Introduction to PostGIS " tutorial at
>>>> https://postgis.net/workshops/postgis-intro/
>>>> and for chapter 26 "Dimensionally Extended 9-Intersection Model" I am
>>>> trying to replicate the examples.
>>>>
>>>> If I use the two different versions of ST_Relate I do not obtain the
>>>> same result
>>>>
>>>> SELECT
>>>> d.id,
>>>> ST_Relate(d.geom, l.geom) as patternMatrix
>>>> FROM docks as d, lakes as l
>>>> WHERE ST_Relate(d.geom, l.geom, '1FF00F212') = true;
>>>> -- 1 row
>>>> "id" "patternmatrix"
>>>> 1 "1FF00F212"
>>>>
>>>>
>>>>
>>>> SELECT
>>>> d.id,
>>>> ST_Relate(d.geom, l.geom) as patternMatrix
>>>> FROM docks as d, lakes as l
>>>> WHERE ST_Relate(d.geom, l.geom) = '1FF00F212';
>>>> -- 2 rows
>>>> "id" "patternmatrix"
>>>> 1 "1FF00F212"
>>>> 2 "1FF00F212"
>>>>
>>>> Could someone give me an explanation of such a difference ?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20251015/dcc3a6e9/attachment.htm>
More information about the postgis-users
mailing list