geomap
개요
이 명령어는 업로드 되어있는 컬렉션을 기반으로 사용자가 요청하는 테이블에 지역 경계(geometry) 정보를 제공합니다.
타입
TEXT
설명
사용자가 선택한 컬렉션을 기반으로 지역 경계정보를 생성 합니다. 생성된 정보는
시각화
탭에 위치한 지도상에 표현됩니다. 사용자는컬렉션 명
, 컬렉션과 같은 단위(국가, 도, 시 등) 정보를 포함한대상 필드
를 필히 입력하여야 합니다.
Examples
검색대상이되는 데이터가 다음과 같이 존재합니다.
lat |
lon |
user_addr |
OUT_TYPE |
sum(SYS_OUT) |
---|---|---|---|---|
37.75 |
127.75 |
송파구 |
a |
563 |
37.75 |
127.75 |
강남구 |
c |
976 |
37 |
126.5 |
광진구 |
b |
145 |
36.5 |
127 |
과천시 |
d |
41 |
City 라는 컬렉션과 그의 대상이 되는 user_addr 필드를 지정한 예.
... | geostats lat lon sum(sys_out) by OUT_TYPE | geomap City user_addr
명령어 이후 테이블 (Collection 적용)
lat |
lon |
user_addr |
collection |
geometry |
sum(SYS_OUT) |
---|---|---|---|---|---|
37.75 |
127.75 |
송파구 |
City |
“geometry”: { “type”: “Polygon”, “coordinates”: [ [ [ 42.24123, 32.65007 ], [ 27.23065, 27.27066 ], .. ] ] } |
563 |
37.75 |
127.75 |
강남구 |
City |
“geometry”: { … |
976 |
37 |
126.5 |
광진구 |
City |
“geometry”: { … |
145 |
36.5 |
127 |
과천시 |
City |
“geometry”: { … |
41 |
City 라는 컬렉션과 그의 대상이 되는 user_addr 필드를 지정한 예 ( all_feature 사용).
... | geostats lat lon sum(sys_out) by OUT_TYPE | geomap City user_addr ALL
명령어 이후 테이블 (Collection 적용, all 옵션 적용)
lat |
lon |
user_addr |
sum(SYS_OUT) |
collection |
geometry |
---|---|---|---|---|---|
37.75 |
127.75 |
송파구 |
City |
“geometry”: { “type”: “Polygon”, “coordinates”: [ [ [ 42.24123, 32.65007 ], [ 27.23065, 27.27066 ], .. ] ] } |
563 |
37.75 |
127.75 |
강남구 |
City |
“geometry”: { … |
976 |
37 |
126.5 |
광진구 |
City |
“geometry”: { … |
145 |
36.5 |
127 |
과천시 |
City |
“geometry”: { … |
41 |
None |
None |
하남시 |
City |
“geometry”: { … |
None |
None |
None |
서초구 |
City |
“geometry”: { … |
None |
… |
… |
… |
… |
… |
… |
City 라는 컬렉션과 그의 대상이 되는 user_addr 필드를 지정한 예.
* | geomap City user_addr
명령어 이후 테이블 (Collection 적용)
user_addr |
collection |
geometry |
sum(SYS_OUT) |
---|---|---|---|
송파구 |
City |
“geometry”: { “type”: “Polygon”, “coordinates”: [ [ [ 42.24123, 32.65007 ], [ 27.23065, 27.27066 ], .. ] ] } |
563 |
강남구 |
City |
“geometry”: { … |
976 |
광진구 |
City |
“geometry”: { … |
145 |
과천시 |
City |
“geometry”: { … |
41 |
Parameters
GEOMAP collection target_field value_field all_feature bound_sqr
이름 |
설명 |
필수/옵션 |
---|---|---|
collection |
콜렉션의 이름이며, 사용자가 업로드하거나 앞서 업로드 된 콜렉션 명을 입력합니다. |
필수 |
target_field |
현재 보유한 테이블의 필드 중 컬렉션의 정보와 매칭할 타겟 필드입니다. |
필수 |
value_field |
앞서 생성된 통계의 결과가 다수일 경우에 한하여 사용되며, geomap에 사용될 데이터가 포함된 필드를 선택 해야합니다. |
옵션 |
all_feature |
생략 시 인풋 데이터 프레임의 마지막 필드로 지정 됩니다.’all’ 입력 시 데이터를 포함하지 않는 collection 까지 모두 반환 됩니다. |
옵션 |
bounds_sqr |
검색 초기결과 값 및 표시화면 제한을 위한 두 쌍의 위,경도를 지정(남서, 북동경계 좌표 순)합니다. 미 입력시 전세계 화면 및 보유한 모든 결과를 보여줍니다. |
옵션 |
Parameters BNF
geomap_command : collection target_field value_field all_feature bound_sqr
collection : WORD
target_field : FIELD
value_field : FIELD
|
all_feature : ALL
|
bound_sqr : BOUNDS LPAREN latlon COMMA latlon COMMA latlon COMMA latlon RPAREN
|
latlon : DOUBLE
FIELD : WORD
GEOMAP = geomap
WORD = \w+
COMMA = ,
LPAREN = \(
RPAREN = \)
ALL = all | ALL
BOUNDS = bounds | BOUNDS
DOUBLE = [-+]?[0-9]+(\.([0-9]+)?([eE][-+]?[0-9]+)?|[eE][-+]?[0-9]+)
API Request & Response
POST
URL
POST /angora/iris-figure/jobs?
body
{ ... "q" : "* | GEOMAP collection target_field value_field all_feature bounds(south_lat,west_lon,north_lat,east_lon)" ...}
Example(Request)
{ ... "q" : "* | geomap City user_addr value ALL bounds(33.2815850538,125.5167675782,35.73680912846,128.5832363282)" ...}
GET
URL
GET /angora/iris-figure/jobs/[sid]?
Reponse (명령어 : geomap City user_addr ALL)통계 탭
{ "status": { "current": 1, "total": 1 }, "fields": [ { "grouped": false, "type": "LONG", "name": "latitude" } { "grouped": false, "type": "LONG", "name": "longitude" }, { "grouped": true, "type": "TEXT", "name": "user_addr" }, { "grouped": false, "type": "TEXT", "name": "collection" }, { "grouped": false, "type": "TEXT", "name": "geometry" }, { "grouped": false, "type": "LONG", "name": "count" } ], "isEnd": true, "results": [ [ "33.36727", "126.52918", "송파구", "City", ""geometry": { "type": "Polygon", "coordinates": [ [ [ 42.24757091725737, 32.650072333309225 ], [ 27.230651483005886, 27.270663967422294 ] ] ] }" 1 } ], [ "33.367237", "126.529198", "강남구", "City", ""geometry": { "type": "Polygon", "coordinates": [ [ [ 61.210817091725737, 35.650072333309225 ], [ 62.230651483005886, 35.270663967422294 ] ] ] }", 3 ] ] }
Response (collection 명 오타 상황)
{ "message": "[Cityy] is Not in Collection list.", "type": "<class 'angora.exceptions.AngoraException'>" }