Posted by
Akash R Nilugal (Jira) on
Nov 19, 2020; 7:10am
URL: http://apache-carbondata-dev-mailing-list-archive.168.s1.nabble.com/jira-Updated-CARBONDATA-4051-Geo-spatial-index-algorithm-improvement-and-UDFs-enhancement-tp103282.html
[
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)