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

Jiayu Shen updated CARBONDATA-4051:
-----------------------------------
    Description: 
The requirement is from SEQ,related algorithms are 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 geo query UDFs

query filter UDFs :
 * _*InPolygonList (List<String> polygonList, OperationType opType)*_
 * _*InPolylineList (List<String> polylineList, Float bufferInMeter)*_
 * _*InPolygonRangeList (List<Long []> RangeList, **OperationType opType**)*_

*operation only support "OR", "AND"*

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 column to be customized during LOAD/INSERT INTO

 

  was:
The requirement is from SEQ,related algorithms are 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 geo query UDFs

query filter UDFs :
 * _*InPolygonList (List<String> polygonList, OperationType opType)*_
 * _*InPolyline (List<String> polylineList, Float bufferInMeter)*_
 * _*InPolygonRangeList (List<Long []> RangeList, **OperationType opType**)*_

*operation only support "OR", "AND"*

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 column 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
>
> The requirement is from SEQ,related algorithms are 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 geo query UDFs
> query filter UDFs :
>  * _*InPolygonList (List<String> polygonList, OperationType opType)*_
>  * _*InPolylineList (List<String> polylineList, Float bufferInMeter)*_
>  * _*InPolygonRangeList (List<Long []> RangeList, **OperationType opType**)*_
> *operation only support "OR", "AND"*
> 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 column to be customized during LOAD/INSERT INTO
>  



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

Reply via email to