[geos-devel] GEOS C API for Polygonal Coverage operations?

Martin Davis mtnclimb at gmail.com
Wed Sep 7 15:44:10 PDT 2022


On Wed, Sep 7, 2022 at 3:18 PM Sandro Santilli <strk at kbt.io> wrote:

> On Tue, Sep 06, 2022 at 02:37:37PM -0700, Martin Davis wrote:
> > I've started to build out operations on Polygonal Coverages in JTS ([1],
> > [2]).
>
> [...]
>
> > A key question is how to expose these operations in the GEOS C API.  I
> see
> > two options:
> > 1) Model a Polygonal Coverage as an array of simple Polygons (and
> possibly
> > MultiPolygons)
> > 2) Provide a Polygonal Coverage datatype (which might contain internal
> > topology)
>
> Could a coverage datatype allow performing operations on PostGIS Topologies
> w/out building the polygons for each face ?


The short answer is "yes, probably, if suitable builders are defined for
the coverage datatype".  But that starts getting complex (in particular, it
probably requires a concept of a Face, which might also have to be
exposed).  This is quite a bit more design than the current work requires.

The other question is: what operations?  Edge-based operations like
simplification (and maybe smoothing) don't really require a coverage at all
- they can simply operate on edge linework.  That would be even easier to
use from PostGIS Topology, I expect.  In fact, I'm considering factoring
out the "Topology-Preserving Line Simplification" part from the
CoverageSimplifier, so it can be used standalone.


> There's an ISO standard
> representation of topologies, maybe such representation could be used
> to transfer those topologies back and forth with GEOS ?
>

Not familiar with that representation.  How does it handle identity for
Faces of topologies?

What we need to define is a C-based API for Coverage.  It's not a huge
design space, so there would probably be similarities.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geos-devel/attachments/20220907/c8e5a540/attachment.htm>


More information about the geos-devel mailing list