Opened 9 months ago

Closed 8 months ago

# ST_Distance doesn't return the minimum distance of two geometries.

Reported by: Owned by: Wenjing pramsey medium PostGIS 3.4.2 postgis 3.4.x

## Description

Consider this statement:

```SELECT ST_Distance(a2, a1), ST_Distance(a1, a2)
FROM ST_GeomFromText('MULTIPOINT((-2 0), EMPTY)') As a1
,ST_GeomFromText(' GEOMETRYCOLLECTION(POINT(1 0),LINESTRING(0 0,1 0))') As a2;
--actual{3,2}
--expected{2,2}

```

According to the following definition, ST_Distance returns the minimum distance between two geometries :

returns the minimum 2D Cartesian (planar) distance between two geometries

Therefore, the result of ST_Distance(a2, a1) should be the same as ST_Distance(a1, a2) which is 2. However, ST_Distance(a2, a1) returns 3, which seems to be a bug.

Version:

POSTGIS="3.5.0dev 3.4.0rc1-748-gaedf3b14f" [EXTENSION] PGSQL="170" GEOS="3.13.0dev-CAPI-1.18.0" PROJ="8.2.1 NETWORK_ENABLED=OFF URL_ENDPOINT=https://cdn.proj.org USER_WRITABLE_DIRECTORY=/tmp/proj DATABASE_PATH=/usr/share/proj/proj.db" LIBXML="2.9.13"

### comment:1 by robe, 9 months ago

Milestone: PostGIS 3.4.1 → PostGIS 3.4.2

### comment:2 by pramsey, 8 months ago

Simple reproducer

```SELECT ST_Distance(
'MULTIPOINT((1 0),(0 0))'::geometry,
'MULTIPOINT((-2 0), EMPTY)'::geometry
);
```

### comment:3 by Paul Ramsey <pramsey@…>, 8 months ago

In c1dbf8e/git:

Correctly handle distances between collections with empty elements, references #5604

### comment:4 by Paul Ramsey <pramsey@…>, 8 months ago

In 63b123db/git:

Correctly handle distances between collections with empty elements, references #5604

### comment:5 by Paul Ramsey <pramsey@…>, 8 months ago

In e5dec40/git:

Correctly handle distances between collections with empty elements, references #5604

### comment:6 by Paul Ramsey <pramsey@…>, 8 months ago

In 61ce8ba/git:

Correctly handle distances between collections with empty elements, references #5604

### comment:7 by pramsey, 8 months ago

Resolution: → fixed new → closed

### comment:8 by Paul Ramsey <pramsey@…>, 8 months ago

In 78414fa/git:

Correctly handle distances between collections with empty elements, references #5604

### comment:9 by Paul Ramsey <pramsey@…>, 8 months ago

In f45df01/git:

Correctly handle distances between collections with empty elements, references #5604

Note: See TracTickets for help on using tickets.