You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Timo Walther (JIRA)" <ji...@apache.org> on 2018/05/14 12:01:00 UTC

[jira] [Commented] (FLINK-9219) Add support for OpenGIS features in Table & SQL API

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

Timo Walther commented on FLINK-9219:
-------------------------------------

Thanks for working on this [~xccui]. Here is some feedback:

- As mentioned earlier, I would not use the Calcite type for the type information but {{com.esri.core.geometry.Geometry}}. I think this is the reason why {{org.apache.calcite.runtime.GeoFunctions}} has a protected {{bind()}} method that we can override.
- Move the GEOMETRY type information class to {{org.apache.flink.table.typeutils}}
- I would separate the geo functions from the core as much as possible. For example, having a seperate {{GeoFunctionsTest}} instead of {{ScalarFunctionsTest}}.
- Maybe we should not expose all 150 functions through {{expressionDsl.scala}}. I think it is ok to only support those special functions in SQL for now. We can still add them to the Table API later. What do you think [~fhueske]?
- I'm wondering if we should contribute the {{new SqlFunction}} definitions about operands and return types to Calcite. Maybe we can contribute a {{GeoOperatorTable}} similar to {{org.apache.calcite.sql.fun.SqlStdOperatorTable}}.

> Add support for OpenGIS features in Table & SQL API
> ---------------------------------------------------
>
>                 Key: FLINK-9219
>                 URL: https://issues.apache.org/jira/browse/FLINK-9219
>             Project: Flink
>          Issue Type: New Feature
>          Components: Table API &amp; SQL
>            Reporter: Timo Walther
>            Assignee: Xingcan Cui
>            Priority: Major
>
> CALCITE-1968 added core functionality for handling spatial/geographical/geometry data. It should not be too hard to expose these features also in Flink's Table & SQL API. We would need a new {{GEOMETRY}} data type and connect the function APIs.
> Right now the following functions are supported by Calcite:
> {code}
> ST_AsText, ST_AsWKT, ST_Boundary, ST_Buffer, ST_Contains, ST_ContainsProperly, ST_Crosses, ST_Disjoint, ST_Distance, ST_DWithin, ST_Envelope, ST_EnvelopesIntersect, ST_Equals, ST_GeometryType, ST_GeometryTypeCode, ST_GeomFromText, ST_Intersects, ST_Is3D, ST_LineFromText, ST_MakeLine, ST_MakePoint, ST_MLineFromText, ST_MPointFromText, ST_MPolyFromText, ST_Overlaps, ST_Point, ST_PointFromText, ST_PolyFromText, ST_SetSRID, ST_Touches, ST_Transform, ST_Union, ST_Within, ST_Z
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)