[jira] [Updated] (CARBONDATA-4051) Geo spatial index algorithm improvement and UDFs enhancement

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Updated] (CARBONDATA-4051) Geo spatial index algorithm improvement and UDFs enhancement

Akash R Nilugal (Jira)

     [ https://issues.apache.org/jira/browse/CARBONDATA-4051?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jiayu Shen updated CARBONDATA-4051:
-----------------------------------
    Description:
This is requirement from SEQ,related algorithms is provided by group Discovery.

1 replace geohash encoded algorithm, and reduce required properties of CREATE TABLE. For example,
{code:java}
CREATE TABLE geoTable(
 timevalue BIGINT,
 longitude LONG,
 latitude LONG) COMMENT "This is a GeoTable"
 STORED AS carbondata
 TBLPROPERTIES ($customProperties 'SPATIAL_INDEX'='mygeohash',
 'SPATIAL_INDEX.mygeohash.type'='geohash',
 'SPATIAL_INDEX.mygeohash.sourcecolumns'='longitude, latitude',
 'SPATIAL_INDEX.mygeohash.originLatitude'='39.832277',
 'SPATIAL_INDEX.mygeohash.gridSize'='50',
 'SPATIAL_INDEX.mygeohash.conversionRatio'='1000000'){code}
2 Add some geo UDFs

query filter UDFs

*InPolygonList (List<String> polygonList, OperationType opType)*

***InPolyline (List<String> polylineList, Float bufferInMeter)***

***InPolygonRangeList (List<Long []> RangeList)***

geo util UDFs

***GeoIdToGridXy(Long geoId) :* *Pair<Integer, Integer>***

*LatLngToGeoId(**Long* *latitude, **Long* *longitude) : Long*

***GeoIdToLatLng(Long geoId) : Pair<Double, Double>***

***ToUpperLayerGeoId(Long geoId) : Long***

***ToRangeList (String polygon) : List<Long []>***

3 Currently GeoID is a column created internally for spatial tables, this PR will support GeoID to be customized during LOAD/INSERT INTO

 

  was:
This is requirement from SEQ,related algorithms is provided by group Discovery.

1 replace geohash encoded algorithm, and reduce required properties of CREATE TABLE. For example,
{code:java}
CREATE TABLE geoTable(
 timevalue BIGINT,
 longitude LONG,
 latitude LONG) COMMENT "This is a GeoTable"
 STORED AS carbondata
 TBLPROPERTIES ($customProperties 'SPATIAL_INDEX'='mygeohash',
 'SPATIAL_INDEX.mygeohash.type'='geohash',
 'SPATIAL_INDEX.mygeohash.sourcecolumns'='longitude, latitude',
 'SPATIAL_INDEX.mygeohash.originLatitude'='39.832277',
 'SPATIAL_INDEX.mygeohash.gridSize'='50',
 'SPATIAL_INDEX.mygeohash.conversionRatio'='1000000') add some geo spatial UDFs,{code}
2 Add some geo UDFs

query filter UDFs

*InPolygonList (List<String> polygonList, OperationType opType)*

***InPolyline (List<String> polylineList, Float bufferInMeter)***

***InPolygonRangeList (List<Long []> RangeList)***

geo util UDFs

***GeoIdToGridXy(Long geoId) :* *Pair<Integer, Integer>***

*LatLngToGeoId(**Long* *latitude, **Long* *longitude) : Long*

***GeoIdToLatLng(Long geoId) : Pair<Double, Double>***

***ToUpperLayerGeoId(Long geoId) : Long***

***ToRangeList (String polygon) : List<Long []>***

3 Currently GeoID is a column created internally for spatial tables, this PR will support GeoID to be customized during LOAD/INSERT INTO

 


> Geo spatial index algorithm improvement and UDFs enhancement
> ------------------------------------------------------------
>
>                 Key: CARBONDATA-4051
>                 URL: https://issues.apache.org/jira/browse/CARBONDATA-4051
>             Project: CarbonData
>          Issue Type: New Feature
>            Reporter: Jiayu Shen
>            Priority: Minor
>
> This is requirement from SEQ,related algorithms is provided by group Discovery.
> 1 replace geohash encoded algorithm, and reduce required properties of CREATE TABLE. For example,
> {code:java}
> CREATE TABLE geoTable(
>  timevalue BIGINT,
>  longitude LONG,
>  latitude LONG) COMMENT "This is a GeoTable"
>  STORED AS carbondata
>  TBLPROPERTIES ($customProperties 'SPATIAL_INDEX'='mygeohash',
>  'SPATIAL_INDEX.mygeohash.type'='geohash',
>  'SPATIAL_INDEX.mygeohash.sourcecolumns'='longitude, latitude',
>  'SPATIAL_INDEX.mygeohash.originLatitude'='39.832277',
>  'SPATIAL_INDEX.mygeohash.gridSize'='50',
>  'SPATIAL_INDEX.mygeohash.conversionRatio'='1000000'){code}
> 2 Add some geo UDFs
> query filter UDFs
> *InPolygonList (List<String> polygonList, OperationType opType)*
> ***InPolyline (List<String> polylineList, Float bufferInMeter)***
> ***InPolygonRangeList (List<Long []> RangeList)***
> geo util UDFs
> ***GeoIdToGridXy(Long geoId) :* *Pair<Integer, Integer>***
> *LatLngToGeoId(**Long* *latitude, **Long* *longitude) : Long*
> ***GeoIdToLatLng(Long geoId) : Pair<Double, Double>***
> ***ToUpperLayerGeoId(Long geoId) : Long***
> ***ToRangeList (String polygon) : List<Long []>***
> 3 Currently GeoID is a column created internally for spatial tables, this PR will support GeoID to be customized during LOAD/INSERT INTO
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)