Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multipolygon overlapping issue #69

Open
zephylac opened this issue Aug 2, 2019 · 1 comment
Open

Multipolygon overlapping issue #69

zephylac opened this issue Aug 2, 2019 · 1 comment

Comments

@zephylac
Copy link
Contributor

zephylac commented Aug 2, 2019

MultiPolygon doesn't support overlapping polygons:
explained here
official doc info

Said in OCJ standard for MultiPolygon features :
Downloadable PDF on page 22

2.1.12 MultiPolygon
A MultiPolygon is a MultiSurface whose elements are Polygons..
The assertions for MultiPolygons are :

  1. The interiors of 2 Polygons that are elements of a MultiPolygon may not intersect.
    ∀ M ∈ MultiPolygon, ∀ Pi, Pj ∈ M.Geometries(), i≠j, Interior(Pi) ∩ Interior(Pj) = ∅
  2. The Boundaries of any 2 Polygons that are elements of a MultiPolygon may not ‘cross’ and >may touch
    at only a finite number of points. (Note that crossing is prevented by assertion 1 above).
    ∀ M ∈ MultiPolygon, ∀ Pi, Pj ∈ M.Geometries(), ∀ ci ∈ Pi.Boundaries(), cj ∈ Pj.Boundaries()
    ci ∩ cj = {p1, ….., pk | pi ∈ Point, 1 <= i <= k}
  3. A MultiPolygon is defined as topologically closed.
  4. A MultiPolygon may not have cut lines, spikes or punctures, a MultiPolygon is a Regular, >Closed point
    set:
    ∀ M ∈ MultiPolygon, M = Closure(Interior(M))
  5. The interior of a MultiPolygon with more than 1 Polygon is not connected, the number of >connected
    components of the interior of a MultiPolygon is equal to the number of Polygons in the >MultiPolygon

This issue happens as I try to merge Polygons into a single MultiPolygon. That way I make one request and have multiple responses. As I make lots of requests, this hackish way allows me to reduce the number of requests thus gaining process time.

I would suggest to keep it like that to respect OCJ standard, but maybe add support for an official ‘multi-params’ support.
I would guess that support would be allowed by taking an array as parameter instead of a single object.

@TimMcCauley
Copy link
Contributor

@zephylac sorry for being very dormant lately. This approach with multi-params sounds just fine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants