[Fdo-trac] [fdo-trac] #992: Better support for empty geometries
FDO
trac_fdo at osgeo.org
Wed May 12 05:24:27 PDT 2021
#992: Better support for empty geometries
------------------------+----------------------
Reporter: jng | Owner: jng
Type: defect | Status: assigned
Priority: critical | Milestone:
Component: FDO API | Version:
Severity: 1 | Keywords:
External ID: |
------------------------+----------------------
As indicated by this thread:
https://lists.osgeo.org/pipermail/mapguide-users/2021-April/034446.html
FDO has an API-wide inability to properly handle empty geometries:
* `FdoSpatialUtility` (that drives the spatial predicate testing in the
SQLite provider) incorrectly assumes that both geometry operands are not
empty, causing exceptions to be thrown if testing spatial predicates and
one of the geometries is empty
* Attempting to get the WKT of a deserialized `FdoIGeometry` instance
that is empty (eg. A LineString with 0 points or a Polygon with no rings
or a multi- geometry with no component geometries) either produces the
incorrect WKT (eg. `LINESTRING ()` instead of `LINESTRING EMPTY`) or worse
it corrupts the heap due to the WKT conversion code de-allocating a
0-length string buffer due to assuming the input geometry is not empty.
This current limitation is causing havoc at the MapGuide level where this
inability to properly handle empty geometries has potential to crash and
destabilize the web tier.
--
Ticket URL: <https://trac.osgeo.org/fdo/ticket/992>
FDO <http://fdo.osgeo.org/>
Feature Data Objects
More information about the fdo-trac
mailing list