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

검색 초기결과 값 및 표시화면 제한을 위한 두 쌍의 위,경도를 지정(남서, 북동경계 좌표 순)합니다. 미 입력시 전세계 화면 및 보유한 모든 결과를 보여줍니다.
예 : bounds(35.73687,125.51806, 35.73687, 128.58325)

옵션

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'>"
      }