lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ignacio Vera (JIRA)" <>
Subject [jira] [Commented] (LUCENE-7936) Extend Geoshape interfaces so objects can be copied/serialized
Date Wed, 23 Aug 2017 07:53:00 GMT


Ignacio Vera commented on LUCENE-7936:

Hi  [~daddywri],

I agree we should separate the different tasks. O leave this ticket for  encoded/decoded of
geoShapes and open one more ticket for the TileIterator stuff. 

I see if I can propose something by the end of the week. One thing is clear is that you already
open a can of worms with the GeoPoint stuff. The reason I used x/y/z instead of Lat/Lon is
because of the Planet Model as you would need to encode it as well and for generic cases you
will need two doubles to encode it.

Thinking more in depth, there is something I am doing wrong and it is trying to use GeoPoint
as a GeoShape. There is one shape missig which is a GeoPointShape which is actually a GeoShape
containing a point. GeoPoint should never extend GeoShape! So my first proposal is:

* Add GeoPointShape Interface
* Change GeoDegeneratePoint to contain a GeoPoint and not extend it and implement the GeoPointShape
interface. Probably rename it to GeoStandardPointShape.
* Add a GeoPointshapeFactory

What do you think?

> Extend Geoshape interfaces so objects can be copied/serialized
> --------------------------------------------------------------
>                 Key: LUCENE-7936
>                 URL:
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/spatial3d
>            Reporter: Ignacio Vera
>            Assignee: Karl Wright
>         Attachments: GeoBinaryCodec.patch, LUCENE-7936.patch, Spatial4j.patch
> Hi [],
> I would like to propose to extends the GeoShape interfaces to be able to copy/serialized
the objects. The current status and  propose change is as following:
> GeoPoint: It can be serialized by using x, y, z
> GeoCircle:  It can be serialized by using getCenter() and getRadius() and getPlanetModel()
> GeoCompositeShape: It can be serialized by accesing shapes using size() and GetShape(int
> GeoPath: add methods to the interface getPoints() and getCutoffAngle()
> GeoPolygon: This is the most complicated one as we have different types:
>    1.- GeoCompositePolygon is just a composite
>    2.- GeoConcavePolygon and GeoConvexPolygon: Create a new interface for those polygons
which exposes the points, holes, internaledges and concavity/convexity
>    3.- GeoComplexPolygons: Do nothing, they are too complex to be serialize??
> I am intersested in accesing the discreatization of the polygons into convex and concave
ones for other reasons as well. I think this should be expose as they end result can be used
for other use cases.
> Cheers,
> I.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message