geomap

개요

이 명령어는 업로드 되어있는 컬렉션을 기반으로 사용자가 요청하는 테이블에 지역 경계(geometry) 정보를 제공합니다.

설명

사용자가 선택한 컬렉션을 기반으로 지역 경계정보를 생성 합니다. 생성된 정보는 시각화 탭에 위치한 지도상에 표현됩니다. 사용자는 컬렉션 , 컬렉션과 같은 단위(국가, 도, 시 등) 정보를 포함한 대상 필드를 필히 입력하여야 합니다.

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