[ 
https://issues.apache.org/jira/browse/LUCENE-7936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16135074#comment-16135074
 ] 

Ignacio Vera commented on LUCENE-7936:
--------------------------------------

Copying objects is not the main use case, what I want to achieve is what 
Spatial4j does with the binarycodec:

https://github.com/locationtech/spatial4j/blob/master/src/main/java/org/locationtech/spatial4j/io/BinaryCodec.java

This class is used to generate docValues which at the same time is used by the 
SerializedDVStrategy to check the relationship between indexed and query 
shapes. If we achieve this, we can pass through the interfaces the Geo3dShapes 
and use it with Lucene (I have already done it with very promising results). 

It is true that the objects can provide the methods to searialize/ deserialize 
but I thought Geoshapes should not need to know how to do this.

The second use case is the following: I am using healpix 
(http://healpix.jpl.nasa.gov) to pixelate polygons on the sphere. The library 
requires polygons to be convex  therefore for concave polygons I need to break 
them into the equivalent convex ones, which is what the GeoPolygonFactory 
actually does. This is very powerful but the information is not available.

Cheers,

I.


> Extend Geoshape interfaces so objects can be copied/serialized
> --------------------------------------------------------------
>
>                 Key: LUCENE-7936
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7936
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: modules/spatial3d
>            Reporter: Ignacio Vera
>            Assignee: Karl Wright
>         Attachments: LUCENE-7936.patch
>
>
> Hi [~david.wri...@bksv.com],
> 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 index)
> 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
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to