공간정보 분석용 API for R


Intro

Compas에서는 공간 분석/연산을 위해 Geoband API를 제공합니다.

Compas에서 제공하는 Jupyter Notebook 환경에는 Geoband API(이하 API) 패키지가 설치되어 있으므로 별도로 설치할 필요는 없습니다.

이 문서는 R Kernel 기준으로 작성되었습니다.

※ 현재 R Kernel에서 Geoband API는 사용 준비중 입니다.


패키지 사용

API를 사용하기 위해 다음과 같이 import 합니다.

In [1]:
library('geoband')


공간연산한 결과 데이터를 표현하기위해 다음 패키지들도 import 합니다.

In [2]:
library('leaflet')
library('sp')
library(rgdal)
rgdal: version: 1.4-6, (SVN revision 841)
 Geospatial Data Abstraction Library extensions to R successfully loaded
 Loaded GDAL runtime: GDAL 2.4.2, released 2019/06/28
 Path to GDAL shared files: /opt/gdal/gdal-2.4.2/share/gdal
 GDAL binary built with GEOS: TRUE 
 Loaded PROJ.4 runtime: Rel. 6.0.0, March 1st, 2019, [PJ_VERSION: 600]
 Path to PROJ.4 shared files: (autodetected)
 Linking to sp version: 1.3-1 


Common Spec

Input parameter type

type name   Description
feature_name feture 명.
공간연산에 필요한 feature 목록을 compas에서 제공합니다.
feature_name에는 반드시 compas에서 제공된 목록에 있는 feature 명만 사용 가능합니다.
feature_list feture 이름 List.
공간연산시 여러 개의 feature가 필요한 경우 콤마(,)를 구분자로 해서 feature_list를 API에 제공해야 합니다.
cql Casandra Query Languate 참조
GeoJSON 위치정보를 갖는 점을 기반으로 체계적으로 지형을 표현하기 위해 설계된 개방형 공개 표준 형식. GeoJSON 참조
boolean True / False

공통 Input parameter

parameter name Optional
Description
saveFileName Y 결과 데이터를 저장할 파일명. 저장할 디렉토리를 지정 가능합니다. 생략시에는 파일을 저장하지 않습니다.

Return Data

type name 설명
GeoJSON 위치정보를 갖는 점을 기반으로 체계적으로 지형을 표현하기 위해 설계된 개방형 공개 표준 형식. GeoJSON 참조



Sample Featrues Data

Geoband 에서 제공하는 Feature 데이타 입니다. 공간분석시 사용가능합니다.
API 호출시 Feature Name을 사용하시기 바랍니다.

Type Title Feature Name SRS
Polygon 시도 geoband:tl_scco_ctprvn EPSG:4326
Polygon 시군구 geoband:tl_scco_sig EPSG:4326
Polygon geoband:tl_scco_li EPSG:4326
Polygon 읍면동 geoband:tl_scco_emd EPSG:4326
Point 녹시율(부산) geoband:gvi_busan EPSG:4326
Point 녹시율(대구) geoband:gvi_daegu EPSG:4326
Point 녹시율(광주) geoband:gvi_gwangju EPSG:4326
Point 녹시율(화성) geoband:gvi_hwaseong EPSG:4326
Point 녹시율(인천) geoband:gvi_incheon EPSG:4326
Point 녹시율(세종) geoband:gvi_sejong EPSG:4326
Point 녹시율(서울) geoband:gvi_seoul EPSG:4326
Point 녹시율(울산) geoband:gvi_ulsan EPSG:4326
Point 서울시 아파트 geoband:apartment EPSG:4326
Point 전국 은행 geoband:bank EPSG:4326
Point 전국 버거킹 geoband:bugerking EPSG:4326
Point 전국 던킨도너츠 geoband:dunkindonuts EPSG:4326
Point 전국 지진 geoband:earthquake EPSG:3857
Polygon 서울시 동 geoband:emd EPSG:3857
Point 전국 대기업 geoband:enterprise EPSG:3857
Point 전국 소방서 geoband:firestation EPSG:3857
Point 서울시 가스충전소 geoband:gasstation EPSG:3857
Point 전국 골프장 geoband:golf EPSG:3857
Point 서울시 병원 geoband:hospital EPSG:3857
Point 전국 KFC geoband:kfc EPSG:3857
Polygon 전국 읍면동 geoband:korea_emd EPSG:3857
Point 전국 학교 geoband:korea_school EPSG:3857
Polygon 전국 시군구 geoband:korea_sgg EPSG:3857
Line 서울시 샘플 라인 geoband:line EPSG:3857
Point 전국 롯데리아 geoband:lotteria EPSG:3857
Point 서울시 재래시장 geoband:market EPSG:3857
Point 전국 맥도널드 geoband:mcdonalds EPSG:3857
Point 전국 아웃브레이크 geoband:outbreak EPSG:3857
Line 서울시 OD 데이터 geoband:od_flow EPSG:3857
Polygon 서울시 오버레이1 geoband:overlay01 EPSG:3857
Polygon 서울시 오버레이2 geoband:overlay02 EPSG:3857
Point 서울시 주점 geoband:pubs EPSG:3857
Line 서울시 도로망 geoband:road EPSG:3857
Polygon 서울 구별 인구 변화 geoband:seoul_series EPSG:3857
Point 서울시 학교 geoband:school EPSG:3857
Polygon 서울시 구 geoband:sgg EPSG:3857
Polygon 서울시 경계 geoband:sid EPSG:3857
Point 전국 철도역 geoband:stations EPSG:3857
Point 서울시 마트 geoband:stores EPSG:3857
Point 서울시 극장 geoband:theaters EPSG:3857
Line 전국 지하철노선 geoband:subway EPSG:3857
Point 서울시 위험 화학물 취급업소 geoband:toxic_office EPSG:3857
Point 서울시 추적점 geoband:track_points EPSG:3857
Point 서울시 구청 geoband:wardoffice EPSG:3857


API

Vector Analysis

벡터 분석 및 처리와 관련된 프로세스 그룹입니다.

Aggregation

CircularBinning

포인트 피처, 범위, 반경을 이용하여 Circle 그리드를 생성 후 각 셀에 포인트의 수를 계산한 폴리곤 피처를 생성합니다.

Parameter
Name Type Required Description
features feature_name O Input point features to be aggregated.
weight string The numeric field or expression used to weight values.
Ex) [field] or [field] * 0.5 etc...

weight 식이 주어진 경우 weight의 값을 누적한다.
csr string 범위(extent) 지정에 사용할 좌표기준계
범위가 없는 경우 features 데이터의 Extent를 사용한다.
minX string 범위(extent) 지정에 사용할 최소 X 좌표
minY string 범위(extent) 지정에 사용할 최소 Y 좌표
maxX string 범위(extent) 지정에 사용할 최대 X 좌표
maxY string 범위(extent) 지정에 사용할 최대 Y 좌표
radius double O Radiuss of the grids.
radius는 0보다 커야 한다.
validGrid boolean Returns only valid grid. Default is True.
validGrid 파라미터의 기본값은 True이며, 포인트의 개수가 0 이상인 그리드만 반환한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [3]:
json = CircularBinning(features="geoband:gvi_busan", weight="greenview",
                        csr="EPSG:4326", minX="128.7617", minY="34.9891", maxX="129.3056", maxY="35.389",
                        radius="0.05", validGrid="False", saveFileName="json_R/result_CircularBinning.json")
[1] "call api..."
[1] "save done : json_R/result_CircularBinning.json"
In [4]:
jsonData <- readLines('json_R/result_CircularBinning.json')
In [5]:
map = leaflet() %>% setView(lng = 129.0001, lat = 35.1598, zoom = 10) %>%
  addTiles() %>%
  addGeoJSON(jsonData, weight = 3, color = "#4444ff", fill = FALSE)

map
CollectEvents

포인트의 위치가 동일하거나 특정 반경 내의 포인트 피처를 하나의 피처로 생성합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The features representing event or incident data.
countField string The field to be calculated coincident points count. icount (Default).
countField 파라미터를 설정하지 않으면 icount 필드를 기본값으로 사용한다.
tolerance string The tolerance distance for considering two points equal. Format is double
tolerance값이 0이면 정확히 일치하는 포인트를, 0보다 크면 tolerance 거리 이내의 피처를 동일한 것으로 간주한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [6]:
json = CollectEvents(inputFeatures="geoband:market", countField="mycnt", tolerance="5000", 
                     saveFileName="json_R/result_CollectEvents.json")
[1] "call api..."
[1] "save done : json_R/result_CollectEvents.json"
In [7]:
from_crs = CRS("+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs")
to_crs = CRS("+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs")
In [8]:
jsonData <- readLines('json_R/result_CollectEvents.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [10]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 10) %>%
  addTiles() %>%
  addMarkers(data = df2)

map
HexagonalBinning

포인트 피처, 범위, 반경을 이용하여 Hexagon 그리드를 생성 후 각 셀에 포인트의 수를 계산한 폴리곤 피처를 생성합니다.

Parameter
Name Type Required Description
features feature_name O Input point features to be aggregated.
weight string The numeric field or expression used to weight values. Ex) [field] or [field] * 0.5 etc...
weight 식이 주어진 경우 weight의 값을 누적한다.
csr string 범위(extent) 지정에 사용할 좌표기준계
범위가 없는 경우 features 데이터의 Extent를 사용한다.
minX string 범위(extent) 지정에 사용할 최소 X 좌표
minY string 범위(extent) 지정에 사용할 최소 Y 좌표
maxX string 범위(extent) 지정에 사용할 최대 X 좌표
maxY string 범위(extent) 지정에 사용할 최대 Y 좌표
size double O Size of the grids.
size는 0보다 커야 한다.
validGrid boolean Returns only valid grid. Default is True.
validGrid 파라미터의 기본값은 True이며, 포인트의 개수가 0 이상인 그리드만 반환한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [11]:
json = HexagonalBinning(features="geoband:gvi_busan", weight="greenview",
                        csr="EPSG:4326", minX="128.7617", minY="34.9891", maxX="129.3056", maxY="35.389",
                        size="0.05", validGrid="False", saveFileName="json_R/result_HexagonalBinning.json")
[1] "call api..."
[1] "save done : json_R/result_HexagonalBinning.json"
In [12]:
jsonData <- readLines('json_R/result_HexagonalBinning.json')
In [13]:
map = leaflet() %>% setView(lng = 129.0001, lat = 35.1998, zoom = 9) %>%
  addTiles() %>%
  addGeoJSON(jsonData, weight = 3, color = "#4444ff", fill = FALSE)

map
PointStatistics

폴리곤 피처 레이어와 중첩하는 포인트 레이어의 개수 또는 기초 통계값을 계산합니다.

Parameter
Name Type Required Description
polygonFeatures feature_name O The polygon features to be calculated.
pointFeatures feature_name O The point features to be calculated.
countField string The count field. count is a default
statisticsFields string 아래 테이블 statisticsFields 참조
saveFileName string 결과를 저장할 파일명

statisticsFields
[함수명.필드명] 구조로 입력하며 사용가능한 함수는 다음과 같다. 예) Sum.pop, Mean.pop

입력값 반환필드명
First: String 필드, Dissolve 대상 Feature의 첫 번째 값 FST_필드명
Last: String 필드, Dissolve 대상 Feature의 마지막 값 LST_필드명
Sum: Numeric 필드, Dissolve 대상 Feature의 합 SUM_필드명
Mean: Numeric 필드, Dissolve 대상 Feature의 평균값 AVG_필드명
Min: Numeric 필드, Dissolve 대상 Feature의 최소값 MIN_필드명
Max: Numeric 필드, Dissolve 대상 Feature의 최대값 MAX_필드명
Std: Numeric 필드, Dissolve 대상 Feature의 표준편차 STD_필드명
Var: Numeric 필드, Dissolve 대상 Feature의 분산 VAR_필드명
Range: Numeric 필드, Dissolve 대상 Feature의 범위 RNG_필드명
Count: Dissolve 대상 Feature의 수 CNT_필드명
Return data
Type Description
GeoJSON Output features.
예제
In [14]:
json = PointStatistics(polygonFeatures="geoband:sgg", pointFeatures="geoband:stores", countField="cnt", statisticsFields="Count.sgg_cd", 
                       saveFileName="json_R/result_PointStatistics.json")
[1] "call api..."
[1] "save done : json_R/result_PointStatistics.json"
In [15]:
jsonData <- readLines('json_R/result_PointStatistics.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [16]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 10) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
RectangularBinning

포인트 피처, 범위, 반경을 이용하여 Rectangle 그리드를 생성 후 각 셀에 포인트의 수를 계산한 폴리곤 피처를 생성합니다.

Parameter
Name Type Required Description
features feature_name O Input point features to be aggregated.
weight string The numeric field or expression used to weight values. Ex) [field] or [field] * 0.5 etc...
weight 식이 주어진 경우 weight의 값을 누적한다.
csr string 범위(extent) 지정에 사용할 좌표기준계
범위가 없는 경우 features 데이터의 Extent를 사용한다.
minX string 범위(extent) 지정에 사용할 최소 X 좌표
minY string 범위(extent) 지정에 사용할 최소 Y 좌표
maxX string 범위(extent) 지정에 사용할 최대 X 좌표
maxY string 범위(extent) 지정에 사용할 최대 Y 좌표
width double O Width of the grids.
width, height는 0보다 커야 한다.
height double O Height of the grids.
width, height는 0보다 커야 한다.
validGrid boolean Returns only valid grid. Default is True.
validGrid 파라미터의 기본값은 True이며, 포인트의 개수가 0 이상인 그리드만 반환한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [17]:
json = RectangularBinning(features="geoband:gvi_busan", weight="greenview",
                        csr="EPSG:4326", minX="128.7617", minY="34.9891", maxX="129.3056", maxY="35.389",
                        width="0.1", height="0.1", validGrid="False", saveFileName="json_R/result_RectangularBinning.json")
[1] "call api..."
[1] "save done : json_R/result_RectangularBinning.json"
In [18]:
jsonData <- readLines('json_R/result_RectangularBinning.json')
In [19]:
map = leaflet() %>% setView(lng = 129.0001, lat = 35.1998, zoom = 9) %>%
  addTiles() %>%
  addGeoJSON(jsonData, weight = 3, color = "#4444ff", fill = FALSE)

map
SpatialClumpMap

포인트 피처와 반경 표현식을 이용하여 Spatial Clump Map을 생성합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O Input features to be buffered.
radius string The radius expression used to create distance. Ex) 1000 or [field] or [field] * 0.5 etc...
radiusUnit string 다음 값중 하나가 될수 있다.
[Default, Meters, Kilometers, Inches, Feet, Yards, Miles, NauticalMiles]
quadrantSegments string The number of line segments used to represent a quadrant of a circle. Default is 8.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [20]:
json = SpatialClumpMap(inputFeatures="geoband:gvi_busan", radius="0.005", radiusUnit="Meters", quadrantSegments="4", 
                       saveFileName="json_R/result_SpatialClumpMap.json")
[1] "call api..."
[1] "save done : json_R/result_SpatialClumpMap.json"
In [21]:
jsonData <- readLines('json_R/result_SpatialClumpMap.json')
In [22]:
map = leaflet() %>% setView(lng = 129.0001, lat = 35.1998, zoom = 10) %>%
  addTiles() %>%
  addGeoJSON(jsonData, weight = 3, color = "#4444ff", fill = FALSE)

map
SpatialJoin

공간 관계에 기반하여 두 피처의 공간 조인을 수행합니다. 두 피처 레이어의 모든 속성값을 포함합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O Input features.
joinFeatures feature_name O Join features.
joinType string Join Type. 다음 값중 하나가 될수 있다.
[KeepAllRecord, OnlyMatchingRecord]
KeepAllRecord인 경우 공간 조인이 수행되지 않은 inputFeatures의 모든 피처를 포함하여 반환한다.
searchRadius string Search Radius.
searchRadius 파라미터 값이 주어지면 searchRadius 내에 포함되는 피처와 조인한다.
radiusUnit string Search Radius Unit. 다음 값중 하나가 될수 있다.
[Default, Meters, Kilometers, Inches, Feet, Yards, Miles, NauticalMiles]
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [23]:
json = SpatialJoin(inputFeatures="geoband:sgg", joinFeatures="geoband:enterprise", joinType="KeepAllRecord", searchRadius="1", 
                   radiusUnit="Kilometers", 
                   saveFileName="json_R/result_SpatialJoin.json")
[1] "call api..."
[1] "save done : json_R/result_SpatialJoin.json"
In [24]:
jsonData <- readLines('json_R/result_SpatialJoin.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [25]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 10) %>%
  addTiles() %>%
  addPolygons(data = df2)

map

Calculation

CalculateArea

폴리곤 피처 레이어의 면적 과 둘레를 계산합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The input polygon features to be calculated.
반드시 폴리곤이어야 한다.
areaField string The area field that will be calculated.
geom_area is a default.
areaUnit string areaField Unit.
다음 값중 하나가 될수 있다.
[Default, SquareMeters, SquareKilometers, SquareFeet, SquareYards, SquareMiles, Hectare, Acre]
perimeterField string The perimeter field that will be calculated.
perimeterUnit string perimeterField Unit
다음 값중 하나가 될수 있다.
[Default, Meters, Kilometers, Inches, Feet, Yards, Miles, NauticalMiles]
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [26]:
json = CalculateArea(inputFeatures="geoband:overlay01", areaField="myarea", areaUnit="SquareKilometers", perimeterField="mylength", 
                     perimeterUnit="Kilometers", 
                     saveFileName="json_R/result_CalculateArea.json")
[1] "call api..."
[1] "save done : json_R/result_CalculateArea.json"
In [27]:
jsonData <- readLines('json_R/result_CalculateArea.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [28]:
map = leaflet() %>% setView(lng = 127.0065831, lat = 37.5538699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
CalculateField

사용자가 설정한 Expression 수식을 이용하여 새로운 필드값을 계산하거나 Geometry Type을 변경합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The Input features to be calculated.
expression string The simple calculation expression used to create a value that will populate the selected rows.
ex) [population] / ([geom_area] / 1000000)
Expression 에 의해 반환되는 값이 Geometry인 경우 fieldName은 무시되고 반환되는 데이터의 Geometry값이 적용된다.
Advanced Expression 참조
fieldName string The field that will be updated with the new calculation. Evaluated is a default.
saveFileName string 결과를 저장할 파일명

Advanced Expression
Expression 파라미터의 다양한 활용 예제이며, [geom] 은 PostGIS, Shapefile 등의 Geometry 필드 이름입니다.

구분 Expression 반환값
일반 수식 round([pop2008] / (area( [geom] ) / 1000000)) Numeric
면적 area( [geom] ) Numeric
둘레/길이 geomLength( [geom] ) Numeric
중심점의 X 좌표 getX( centroid( [geom])) Numeric
폴리곤을 라인으로 boundary( [geom] ) Geometry
버퍼 bufferWithSegments( [geom], 250, 16) Polygon
무게중심점 centroid( [geom]) Point
폴리곤에 포함되는 내부 점 interiorPoint( [geom] ) Point
폴리곤 또는 라인의 시작점 startPoint( [geom] ) Point
폴리곤 또는 라인의 끝점 endPoint( [geom]) Point
폴리곤, 라인, 멀티포인트의Convex Hull convexHull( [geom] ) Polygon
폴리곤, 라인, 멀티포인트를 둘러싸는 최소 원 mincircle( [geom] ) Polygon
폴리곤, 라인, 멀티포인트를 포함하는 영역의 최소 반경 라인 minimumdiameter( [geom] ) Line
폴리곤, 라인, 멀티포인트를 포함하는 영역의 최소 반경 영역 minrectangle( [geom] ) Polygon
폴리곤, 라인, 멀티포인트를 포함하는 최소 8각형 영역 octagonalenvelope( [geom] ) Polygon
x offset, y offset 만큼 이동 offset( [geom], 4000, 3000) Geometry
Return data
Type Description
GeoJSON Output features.
예제
In [29]:
json = CalculateField(inputFeatures="geoband:seoul_series", expression="[a1_2005] / [a1_2000] / 100", fieldName="rate_result", 
                      saveFileName="json_R/result_CalculateField.json")
[1] "call api..."
[1] "save done : json_R/result_CalculateField.json"
In [30]:
jsonData <- readLines('json_R/result_CalculateField.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [31]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 10) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
CalculateLength

폴리곤 또는 라인 피처 레이어에 필드를 추가하여 길이(둘레)를 계산합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The input line or polygon features to be calculated.
폴리곤 또는 라인 피처 타입이어야 한다.
lengthField string The length field that will be calculated.
geom_len is a default.
lengthUnit string lengthField Unit
다음 값중 하나가 될수 있다.
[Default, Meters, Kilometers, Inches, Feet, Yards, Miles, NauticalMiles]
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [32]:
json = CalculateLength(inputFeatures="geoband:overlay01", lengthField="mylength", lengthUnit="Meters", 
                       saveFileName="json_R/result_CalculateLength.json")
[1] "call api..."
[1] "save done : json_R/result_CalculateLength.json"
In [33]:
jsonData <- readLines('json_R/result_CalculateLength.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [34]:
map = leaflet() %>% setView(lng = 127.0065831, lat = 37.5538699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map

Editing

DeleteDuplicates

피처 레이어에서 Geometry가 동일한 피처는 하나만 남기고 삭제합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The input features to be processed.
포인트, 라인, 폴리곤 모두 가능하며, 각 피처의 Geometry가 동일한 경우에만 중복으로 처리한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [35]:
json = DeleteDuplicates(inputFeatures="geoband:market", saveFileName="json_R/result_DeleteDuplicates.json")
[1] "call api..."
[1] "save done : json_R/result_DeleteDuplicates.json"
In [36]:
jsonData <- readLines('json_R/result_DeleteDuplicates.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [37]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 11) %>%
  addTiles() %>%
  addMarkers(data = df2)

map
OffsetFeatures

피처 레이어의 모든 피처를 x, y offset만큼 이동합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O Input features that can be multipoint, line, and polygon.
offsetX string X offset. Format is double
offsetY string Y offset. Format is double
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [38]:
json = OffsetFeatures(inputFeatures="geoband:sgg", offsetX="1000", offsetY="1000", saveFileName="json_R/result_OffsetFeatures.json")
[1] "call api..."
[1] "save done : json_R/result_OffsetFeatures.json"
In [39]:
jsonData <- readLines('json_R/result_OffsetFeatures.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [40]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 10) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
TrimLine

라인의 교차점을 지나 특정 거리만큼 연장된 라인 부분(Dangles)을 제거합니다.

Parameter
Name Type Required Description
lineFeatures feature_name O The line features to be trimmed.
lineFeatures 레이어는 라인 타입 이어야 한다.
dangleLength string Line segments that are shorter than the specified Dangle Length and do not touch another line at both endpoints (dangles) will be trimmed. Format is double
deleteShort boolean Controls whether line segments which are less than the dangle length and are free-standing will be deleted. Default is True.
deleteShort 파라미터가 True이고, 시작/끝점 모두 다른 라인과 교차하지 않는 독립적인 라인이 dangleLength 길이보다 작으면 삭제된다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [41]:
json = TrimLine(lineFeatures="geoband:line", dangleLength="10000", deleteShort="True", 
                saveFileName="json_R/result_TrimLine.json")
[1] "call api..."
[1] "save done : json_R/result_TrimLine.json"
In [42]:
jsonData <- readLines('json_R/result_TrimLine.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [43]:
map = leaflet() %>% setView(lng = 127.0365831, lat = 37.5638699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map

Extract

ClipWithFeatures

Clip할 폴리곤 피처 레이어를 설정하여 피처 레이어를 잘라냅니다.

Parameter
Name Type Required Description
inputFeatures feature_name O 클립 대상 feature
clipFeatures feature_name O 클립 영역 featrue.
반드시 Polygon 또는 MultiPolygon feature 여야 한다
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [44]:
json = ClipWidhFeatures(inputFeatures="geoband:seoul_series", clipFeatures="geoband:overlay01", 
                        saveFileName="json_R/result_ClipWidhFeatures.json")
[1] "call api..."
[1] "save done : json_R/result_ClipWidhFeatures.json"
In [45]:
jsonData <- readLines('json_R/result_ClipWidhFeatures.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [46]:
map = leaflet() %>% setView(lng = 126.9565831, lat = 37.5338699, zoom = 12) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
MergeFeatures

피처 타입이 같은 여러 레이어를 하나의 레이어로 병합합니다.

Parameter
Name Type Required Description
features feature_list O Input feature collections to be merge.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [47]:
json = MergeFeatures(features="geoband:overlay01,geoband:overlay02", saveFileName="json_R/result_MergeFeatures.json")
[1] "call api..."
[1] "save done : json_R/result_MergeFeatures.json"
In [48]:
jsonData <- readLines('json_R/result_MergeFeatures.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [49]:
map = leaflet() %>% setView(lng = 127.0065831, lat = 37.5338699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map

Feature Tools

FeatureToConvexHull

최소 경계를 추출합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The input features that can be multipoint, line, polygon.
singlePart boolean singlePart가 True이고 Geometry가 MultiPart인 경우 모든 Part의 Geometry를 변환한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [50]:
json = FeatureToConvexHull(inputFeatures="geoband:sid", singlePart="True", saveFileName="json_R/result_FeatureToConvexHull.json")
[1] "call api..."
[1] "save done : json_R/result_FeatureToConvexHull.json"
In [51]:
jsonData <- readLines('json_R/result_FeatureToConvexHull.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [52]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 10) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
FeatureToLine

폴리곤 또는 라인 레이어를 교차하는 노드를 기준으로 분할한 라인 레이어를 생성합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The input features that can be line or polygon.
preserveAttributes boolean Specifies whether to preserve or omit the input attributes in the output features. Default is True.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [53]:
json = FeatureToLine(inputFeatures="geoband:overlay01", preserveAttributes="True", saveFileName="json_R/result_FeatureToLine.json")
[1] "call api..."
[1] "save done : json_R/result_FeatureToLine.json"
In [54]:
jsonData <- readLines('json_R/result_FeatureToLine.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [55]:
map = leaflet() %>% setView(lng = 127.0065831, lat = 37.5538699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
FeatureToMinimumBoundingCircle

피처 레이어에서 각 피처를 둘러싸는 최소 경계 원 폴리곤으로 변환합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The input features that can be multipoint, line, polygon.
singlePart boolean Specifies whether to use one circle for each entire multipart feature or one circle per part of a multipart feature.
singlePart가 True이고 Geometry가 MultiPart인 경우 모든 Part의 Geometry를 변환한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [56]:
json = FeatureToMinimumBoundingCircle(inputFeatures="geoband:overlay01", singlePart="True", 
                                      saveFileName="json_R/result_FeatureToMinimumBoundingCircle.json")
[1] "call api..."
[1] "save done : json_R/result_FeatureToMinimumBoundingCircle.json"
In [57]:
jsonData <- readLines('json_R/result_FeatureToMinimumBoundingCircle.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [58]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5538699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
FeatureToMinimumRectangle

피처 레이어에서 각 피처를 둘러싸는 최소 경계 직사각형 폴리곤으로 변환합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The input features that can be multipoint, line, polygon.
singlePart boolean Specifies whether to use one circle for each entire multipart feature or one circle per part of a multipart feature.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [59]:
json = FeatureToMinimumRectangle(inputFeatures="geoband:overlay01", singlePart="True", 
                                 saveFileName="json_R/result_FeatureToMinimumRectangle.json")
[1] "call api..."
[1] "save done : json_R/result_FeatureToMinimumRectangle.json"
In [60]:
jsonData <- readLines('json_R/result_FeatureToMinimumRectangle.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [61]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5538699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
FeatureToOctagonalEnvelope

피처 레이어에서 각 피처를 둘러싸는 최소 경계 8각형 폴리곤으로 변환합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The input features that can be multipoint, line, polygon.
singlePart boolean Specifies whether to use one circle for each entire multipart feature or one circle per part of a multipart feature.
singlePart가 True이고 Geometry가 MultiPart인 경우 모든 Part의 Geometry를 변환한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [62]:
json = FeatureToOctagonalEnvelope(inputFeatures="geoband:overlay01", singlePart="True", 
                                  saveFileName="json_R/result_FeatureToOctagonalEnvelope.json")
[1] "call api..."
[1] "save done : json_R/result_FeatureToOctagonalEnvelope.json"
In [63]:
jsonData <- readLines('json_R/result_FeatureToOctagonalEnvelope.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [64]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5538699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
FeatureToPoint

피처 레이어를 중심점 등의 포인트 피처 레이어로 변환합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The input features that can be multipoint, line, polygon.
inside boolean Centroid(False), Inside(True, Default)
inputFeatures가 폴리곤이고 inside 가 Ture이면 중심점은 반드시 폴리곤 내에 포함된다.
singlePart boolean Centroid of each part. Default is False.
singlePart가 True이고 Geometry가 MultiPart인 경우 모든 Part의 Geometry를 중심점으로 변환한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [65]:
json = FeatureToPoint(inputFeatures="geoband:emd", inside="True", singlePart="False", 
                      saveFileName="json_R/result_FeatureToPoint.json")
[1] "call api..."
[1] "save done : json_R/result_FeatureToPoint.json"
In [66]:
jsonData <- readLines('json_R/result_FeatureToPoint.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [67]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 11) %>%
  addTiles() %>%
  addMarkers(data = df2)

map
MultipartToSinglepart

MultiPart로 구성된 피처 레이어를 SinglePart 피처 레이어로 변환합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O inputFeatures 파라미터는 반드시 Multipart(MultiPoint, MultiLineString, MultiPolygon) 피처 타입이어야 한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [68]:
json = MultipartToSinglepart(inputFeatures="geoband:seoul_series", saveFileName="json_R/result_MultipartToSinglepart.json")
[1] "call api..."
[1] "save done : json_R/result_MultipartToSinglepart.json"
In [69]:
jsonData <- readLines('json_R/result_MultipartToSinglepart.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [70]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 10) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
VerticesToPoints

폴리곤 또는 라인 데이터를 이용해 설정한 버텍스 위치에 따른 포인트 피처 레이어를 생성합니다

Parameter
Name Type Required Description
inputFeatures feature_name O The input features that can be line or polygon.
location string 아래 location 참조
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [71]:
json = VerticesToPoints(inputFeatures="geoband:line", location="Mid", saveFileName="json_R/result_VerticesToPoints.json")
[1] "call api..."
[1] "save done : json_R/result_VerticesToPoints.json"
In [72]:
jsonData <- readLines('json_R/result_VerticesToPoints.json')
jsonData
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [73]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 11) %>%
  addTiles() %>%
  addMarkers(data = df2)

map

Generalization

Densify

폴리곤 또는 라인 피처의 라인 세그먼트마다 설정한 Tolerance 간격의 버텍스를 추가합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The input line or polygon features to be calculated.
tolerance string Distance tolerance to densify ex) 10.0 or filter expression.
tolerance 파라미터는 수 또는 수식을 사용할 수 있다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [74]:
json = Densify(inputFeatures="geoband:line", tolerance="100", saveFileName="json_R/result_Densify.json")
[1] "call api..."
[1] "save done : json_R/result_Densify.json"
In [75]:
jsonData <- readLines('json_R/result_Densify.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [76]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5498699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
Dissolve

입력 레이어의 폴리곤 객체들을 하나의 객체로 추출합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O Input features.
dissolveField string O The field on which to dissolve features.
statisticsFields string The fields and statistics with which to summarize attributes.

Statistics fields(Function.PropertyName): First, Last, Sum, Mean, Min, Max, Std, Count.
useMultiPart boolean Specifies whether multipart features are allowed in the output features
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [77]:
json = Dissolve(inputFeatures="geoband:seoul_series", dissolveField="sid_nm", statisticsFields="Mean.a1_2000,Sum.a1_2001", 
                useMultiPart="False", 
                saveFileName="json_R/result_Dissolve.json")
[1] "call api..."
[1] "save done : json_R/result_Dissolve.json"
In [78]:
jsonData <- readLines('json_R/result_Dissolve.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [79]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 10) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
Eliminate

이웃하는 폴리곤과의 공유 면적 또는 길이를 기준으로 Sliver 폴리곤을 제거합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The layer whose polygons will be merged into neighboring polygons. 반드시 폴리곤 타입이어야 한다.
option string The options specify which method will be used for eliminating features.
[Length, LengthArea, SmallArea]
option 파라미터는 Sliver 폴리곤을 제거하는 기준으로 공유하는 길이가 가장 큰 이웃(Length), 면적이 가장 크거나(LargeArea) 작은 이웃(SmallArea)으로 Sliver 폴리곤을 편입한다.
exception cql The exception filter used to identify features that will not be altered.
exception 파라미터는 처리에 제외할 피처를 필터로 설정한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [80]:
json = Eliminate(inputFeatures="geoband:overlay01", option="LargeArea", exception="nam='f1'", 
                 saveFileName="json_R/result_Eliminate.json")
[1] "call api..."
[1] "save done : json_R/result_Eliminate.json"
In [81]:
jsonData <- readLines('json_R/result_Eliminate.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [82]:
map = leaflet() %>% setView(lng = 127.0065831, lat = 37.5538699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
RemoveHoles

폴리곤 피처 레이어의 모든 Holes(Interior Rings) 또는 설정한 크기보다 작은 Holes을 제거합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The polygon features to be removed.
minimumArea string Remove holes smaller than this area expression.
Ex) 10.0 or filter expression.

minimumArea는 숫자 또는 필드값 등을 조합하여 숫자를 반환하는 Expression이 가능하다.
minimumArea 파라미터의 값이 0이면 폴리곤의 모든 Hole(Interior Ring)이 삭제되고, 0보다 크면 해당 값보다 면적이 작은 Hole만 삭제된다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [83]:
json = RemoveHoles(inputFeatures="geoband:overlay02", minimumArea="100", saveFileName="json_R/result_RemoveHoles.json")
[1] "call api..."
[1] "save done : json_R/result_RemoveHoles.json"
In [84]:
jsonData <- readLines('json_R/result_RemoveHoles.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [85]:
map = leaflet() %>% setView(lng = 127.0065831, lat = 37.5538699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
Simplify

Douglas-Peucker 단순화 알고리즘을 이용하여 라인 피처를 단순화합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The input line or polygon features to be simplified.
tolerance string O Distance tolerance to simplify.
ex) 10.0 or filter expression.
tolerance 파라미터는 수 또는 수식을 사용할 수 있으며, Douglas–Peucker 알고리즘을 사용한다.
preserveTopology boolean If True, ensures that simplified features are topologically valid. Default is True.
preserveTopology 파라미터 값이 True이면, Tolerance 값에 상관없이 최소한의 토폴로지 규칙은 유지된다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [86]:
json = Simplify(inputFeatures="geoband:overlay02", tolerance="100", preserveTopology="True", saveFileName="json_R/result_Simplify.json")
[1] "call api..."
[1] "save done : json_R/result_Simplify.json"
In [87]:
jsonData <- readLines('json_R/result_Simplify.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [88]:
map = leaflet() %>% setView(lng = 127.0065831, lat = 37.5538699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map

Overay

Difference

두 레이어간 중첩 분석을 수행하여 처음 레이어 영역만 추출합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O input features
differenceFeatures feature_name O difference features
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [89]:
json = Difference(inputFeatures="geoband:sgg", differenceFeatures="geoband:overlay01", saveFileName="json_R/result_Difference.json")
[1] "call api..."
[1] "save done : json_R/result_Difference.json"
In [90]:
jsonData <- readLines('json_R/result_Difference.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [91]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 10) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
Intersect

중복되는 영역을 추출합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O inpurt features
Point, Line, Polygon모두 가능
overlayFeatures feature_name O overlay features
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [92]:
json = Intersect(inputFeatures="geoband:overlay01", overlayFeatures="geoband:overlay02", saveFileName="json_R/result_Intersect.json")
[1] "call api..."
[1] "save done : json_R/result_Intersect.json"
In [93]:
jsonData <- readLines('json_R/result_Intersect.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [94]:
map = leaflet() %>% setView(lng = 127.0065831, lat = 37.5338699, zoom = 12) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
Union

두개의 입력 피처 레이어에 대한 Union Overlay 분석을 수행합니다. 출력 레이어는 두 피처의 모든 속성값이 유지됩니다.

Parameter
Name Type Required Description
inputFeatures feature_name O input features
Point, Line, Polygon모두 가능
overlayFeatures feature_name O overlay features
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [95]:
json = Union(inputFeatures="geoband:overlay01", overlayFeatures="geoband:overlay02", saveFileName="json_R/result_Union.json")
[1] "call api..."
[1] "save done : json_R/result_Union.json"
In [96]:
jsonData <- readLines('json_R/result_Union.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [97]:
map = leaflet() %>% setView(lng = 126.9565831, lat = 37.5338699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
Update

두 레이어간 업데이트 중첩 분석을 수행하여 공간 정보를 갱신합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O Input features.
updateFeatures feature_name O Update features.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [98]:
json = Update(inputFeatures="geoband:overlay01", updateFeatures="geoband:overlay02", saveFileName="json_R/result_Update.json")
[1] "call api..."
[1] "save done : json_R/result_Update.json"
In [99]:
jsonData <- readLines('json_R/result_Update.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [100]:
map = leaflet() %>% setView(lng = 127.0065831, lat = 37.5538699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map

Proximity

BufferFeatures

사용자가 정의한 Buffer 거리, Buffer 필드 또는 Buffer Expression 수식을 이용하여 Buffer 분석을 수행합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O Buffer 분석 대상 feature. 포인트, 라인, 폴리곤 모두 가능
distance string O The distance expression used to create distance.
distance expression은 숫자, 숫자가 리턴되는 함수식 모두 가능하다. 참조
distanceUnit string distance 단위. 다음 값중 하나가 될수 있다.
[Default, Meters, Kilometers, Inches, Feet, Yards, Miles, NauticalMiles]
quadrantSegments string The number of line segments used to represent a quadrant of a circle. Default is 8.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [101]:
json = BufferFeatures(inputFeatures="geoband:theaters", distance=1, distanceUnit="Kilometers", quadrantSegments="4", 
                      saveFileName="json_R/result_BufferFeatures.json")
[1] "call api..."
[1] "save done : json_R/result_BufferFeatures.json"
In [102]:
jsonData <- readLines('json_R/result_BufferFeatures.json')
df = readOGR(jsonData)
#proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [103]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5638699, zoom = 11) %>%
  addTiles() %>%
  addPolygons(data = df2)

map
PolarGridsFromFeatures

피처별 중심점을 기준으로 방사형 Polar 격자를 생성하며 같이 주어진 반경리스트 기준으로 여러 개의 격자를 생성합니다.

Parameter
Name Type Required Description
origin feature_name O The center features of polar grids.
radius string O The list of radius(unit:data unit):
Ex) 200, 300, 400, 500.
radialType string Radial Type: Polar (Default), Base.
sides string The number of sides.
sides 파라미터의 기본값(8)을 사용하는 경우 azimuth 필드가 추가되고 NE, N, NW, W, SW, S, SE, E 등의 방향값이 계산된다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [104]:
json = PolarGridsFromFeatures(origin="geoband:overlay01", radius="400, 600, 800, 1000", radialType="Polar", sides="8", 
                              saveFileName="json_R/result_PolarGridsFromFeatures.json")
[1] "call api..."
[1] "save done : json_R/result_PolarGridsFromFeatures.json"
In [105]:
jsonData <- readLines('json_R/result_PolarGridsFromFeatures.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [106]:
map = leaflet() %>% setView(lng = 126.9499831, lat = 37.5338699, zoom = 12) %>%
  addTiles() %>%
  addPolygons(data = df2)

map

Spatial Unit Creation

CircularGrid

설정한 범위에 대해서 설정된 반경 크기의 원형 그리드를 생성합니다.

Parameter
Name Type Required Description
csr string O 범위(extent) 지정에 사용할 좌표기준계
minX string O 범위(extent) 지정에 사용할 최소 X 좌표
minY string O 범위(extent) 지정에 사용할 최소 Y 좌표
maxX string O 범위(extent) 지정에 사용할 최대 X 좌표
maxY string O 범위(extent) 지정에 사용할 최대 Y 좌표
boundsSource feature_name Bounds Source Features.
radius string O Radius of the circle. Format is double.
circularType string Circular Type: Grid (default), Hex.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [107]:
json = CircularGrid(csr="EPSG:4326", minX="128.7617", minY="34.9891", maxX="129.3056", maxY="35.389",
              boundsSource="geoband:tl_scco_sig", radius="0.05", circularType="Hex",
              saveFileName="json_R/result_CircularGrid.json")
[1] "call api..."
[1] "save done : json_R/result_CircularGrid.json"
In [108]:
jsonData <- readLines('json_R/result_CircularGrid.json')
In [109]:
map = leaflet() %>% setView(lng = 129.0001, lat = 35.1998, zoom = 9) %>%
  addTiles() %>%
  addGeoJSON(jsonData, weight = 2, color = "#4444ff", fill = FALSE)

map
DelaunayTriangulation

포인트 레이어로부터 딜로니 삼각망을 생성합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The point input features from which delaunay triangulations will be generated.
clipArea GeoJSON Clip area polygon.
clipArea 파라미터가 주어지면 해당 영역으로 클립한 폴리곤을 반환한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [110]:
json = DelaunayTriangulation(inputFeatures="geoband:bank", 
                             clipArea='{"type": "Polygon","coordinates": [[[126.76449999403584, 37.428299988829345],[127.1837999716712, 37.428299988829345],[127.1837999716712, 37.70149998971315],[127.1837999716712, 37.70149998971315],[126.76449999403584, 37.428299988829345]]]}', 
                             saveFileName="json_R/result_DelaunayTriangulation.json")
[1] "call api..."
[1] "save done : json_R/result_DelaunayTriangulation.json"
In [111]:
jsonData <- readLines('json_R/result_DelaunayTriangulation.json')
In [112]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5538699, zoom = 10) %>%
  addTiles() %>%
  addGeoJSON(jsonData, weight = 2, color = "#4444ff", fill = FALSE)

map
FishnetCount

범위에 따른 개수로 격자 그리드를 생성합니다.

Parameter
Name Type Required Description
csr string O 범위(extent) 지정에 사용할 좌표기준계
minX string O 범위(extent) 지정에 사용할 최소 X 좌표
minY string O 범위(extent) 지정에 사용할 최소 Y 좌표
maxX string O 범위(extent) 지정에 사용할 최대 X 좌표
maxY string O 범위(extent) 지정에 사용할 최대 Y 좌표
boundsSource feature_name Bounds Source Features.
boundsSource 파라미터를 설정한 경우 boundsSource와 Intersect되는 격자만 생성한다.
boundaryInside boolean boundsSource 파라미터를 설정하고 boundaryInside 파라미터가 True인 경우 boundsSource 내부에 포함되는 격자만 생성한다.
columns string O Number of columns.
rows string O Number of Rows.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [113]:
json = FishnetCount(csr="EPSG:4326", minX="128.7617", minY="34.9891", maxX="129.3056", maxY="35.389",
              boundsSource="geoband:tl_scco_sig", boundaryInside="False", columns="10", rows="10",
              saveFileName="json/result_FishnetCount.json")
[1] "call api..."
[1] "save done : json/result_FishnetCount.json"
In [114]:
jsonData <- readLines('json_R/result_FishnetCount.json')
In [115]:
map = leaflet() %>% setView(lng = 129.0001, lat = 35.1998, zoom = 10) %>%
  addTiles() %>%
  addGeoJSON(jsonData, weight = 2, color = "#4444ff", fill = FALSE)

map
FishnetSize

범위와 가로, 세로 크기를 정의하여 Fishnet 격자를 생성합니다.

Parameter
Name Type Required Description
csr string O 범위(extent) 지정에 사용할 좌표기준계
minX string O 범위(extent) 지정에 사용할 최소 X 좌표
minY string O 범위(extent) 지정에 사용할 최소 Y 좌표
maxX string O 범위(extent) 지정에 사용할 최대 X 좌표
maxY string O 범위(extent) 지정에 사용할 최대 Y 좌표
boundsSource feature_name Bounds Source Features.
boundsSource 파라미터를 설정한 경우 boundsSource와 Intersect되는 격자만 생성한다.
boundaryInside boolean Bounds Inside.
boundsSource 파라미터를 설정하고 boundaryInside 파라미터가 True인 경우 boundsSource 내부에 포함되는 격자만 생성한다.
width string O Width of Each Cell. Format is double
height string O Height of Each Cell. Format is double
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [116]:
json = FishnetSize(csr="EPSG:4326", minX="128.7617", minY="34.9891", maxX="129.3056", maxY="35.389",
              boundsSource="geoband:tl_scco_sig", boundaryInside="False", width="0.05", height="0.05",
              saveFileName="json_R/result_FishnetSize.json")
[1] "call api..."
[1] "save done : json_R/result_FishnetSize.json"
In [117]:
jsonData <- readLines('json_R/result_FishnetSize.json')
In [118]:
map = leaflet() %>% setView(lng = 129.0001, lat = 35.1998, zoom = 10) %>%
  addTiles() %>%
  addGeoJSON(jsonData, weight = 2, color = "#4444ff", fill = FALSE)

map
ThiessenPolygon

입력 피처 레이어를 이용하여 Thiessen Polygon을 생성합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The point input features from which thiessen polygons will be generated.
포인트, 라인, 폴리곤 모두 가능하지만, 무게중심점을 추출하여 Thiessen Polygon을 생성한다.
attributes string Attribute mode:
ONLY_FID (default), ALL (retain input feature’s attribute).
Attributes 파라미터가 ALL 인 경우 inputFeatures의 모든 속성값을 유지한다.
clipArea GeoJSON The clip area polygon geometry.
clipArea 파라미터가 주어지면 해당 영역으로 클립한 폴리곤을 반환한다.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [119]:
json = ThiessenPolygon(inputFeatures="geoband:bank", attributes="OnlyFID", 
                       clipArea='{"type": "Polygon","coordinates": [[[126.76449999403584, 37.428299988829345],[127.1837999716712, 37.428299988829345],[127.1837999716712, 37.70149998971315],[127.1837999716712, 37.70149998971315],[126.76449999403584, 37.428299988829345]]]}', 
                       saveFileName="json_R/result_ThiessenPolygon.json")
[1] "call api..."
[1] "save done : json_R/result_ThiessenPolygon.json"
In [120]:
jsonData <- readLines('json_R/result_ThiessenPolygon.json')
In [121]:
map = leaflet() %>% setView(lng = 127.0565831, lat = 37.5838699, zoom = 10) %>%
  addTiles() %>%
  addGeoJSON(jsonData, weight = 2, color = "#4444ff", fill = FALSE)

map
TriangularGrid

크기와 범위를 설정하여 삼각형 그리드를 생성합니다.

Parameter
Name Type Required Description
csr string O 범위(extent) 지정에 사용할 좌표기준계
minX string O 범위(extent) 지정에 사용할 최소 X 좌표
minY string O 범위(extent) 지정에 사용할 최소 Y 좌표
maxX string O 범위(extent) 지정에 사용할 최대 X 좌표
maxY string O 범위(extent) 지정에 사용할 최대 Y 좌표
boundsSource feature_name Bounds Source Features.
boundsSource 파라미터를 설정한 경우 boundsSource와 Intersect되는 삼각형만 생성한다.
size string O Grid Size. Format is double
orientation string Orientation: FLAT (default), ANGLED.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [122]:
json = TriangularGrid(csr="EPSG:4326", minX="128.7617", minY="34.9891", maxX="129.3056", maxY="35.389",
              boundsSource="geoband:tl_scco_sig", size="0.05", orientation="ANGLED",
              saveFileName="json_R/result_TriangularGrid.json")
[1] "call api..."
[1] "save done : json_R/result_TriangularGrid.json"
In [123]:
jsonData <- readLines('json_R/result_TriangularGrid.json')
In [124]:
map = leaflet() %>% setView(lng = 129.0001, lat = 35.1998, zoom = 10) %>%
  addTiles() %>%
  addGeoJSON(jsonData, weight = 2, color = "#4444ff", fill = FALSE)

map

Spatial Statistics Analysis

공간통계 분석과 관련된 프로세스 그룹입니다.

Distributions

CentralFeature

피처 레이어의 모든 피처들에 대해 총 거리의 합이 가장 최소가 되는 피처(Central Feature)을 반환합니다.

Parameter
Name Type Required Description
inputFeatures feature_name O The features containing a distribution of features from which to identify the most centrally located feature.
distanceMethod string Specifies how distances are calculated from each feature to neighboring features. Euclidean (default) or Manhattan.
[Euclidean, Manhattan]
weightField string The numeric field used to weight distances in the origin-destination distance matrix.
selfPotentialWeightField string The field representing self-potential. The distance or weight between a feature and itself.
caseField string The field used to group features for separate central feature computations.
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [125]:
json = CentralFeature(inputFeatures="geoband:school", distanceMethod="Euclidean", weightField="sgg_cd", 
                      selfPotentialWeightField="sgg_cd", caseField="sch_cls", 
                      saveFileName="json_R/result_CentralFeature.json")
[1] "call api..."
[1] "save done : json_R/result_CentralFeature.json"
In [126]:
jsonData <- readLines('json_R/result_CentralFeature.json')
df = readOGR(jsonData)
proj4string(df) <- from_crs
df2 <- spTransform(df, to_crs)
In [127]:
map = leaflet() %>% setView(lng = 127.0365831, lat = 37.5338699, zoom = 12) %>%
  addTiles() %>%
  addMarkers(data = df2)

map

Etc

Query

feature를 대상으로 쿼리합니다.

Parameter
Name Type Required Description
features feature_name O 쿼리 대상 feature 명
attribute string 결과에 포함시킬 attribute
filter cql 쿼리 조건문
saveFileName string 결과를 저장할 파일명
Return data
Type Description
GeoJSON Output features.
예제
In [128]:
json = Query(features="geoband:theaters", attribute="brand", filter="sgg_cd > 11500 and sgg_cd < 11600", 
             saveFileName="json_R/result_Query.json")
json
[1] "call api..."
[1] "save done : json_R/result_Query.json"
'{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"brand":"CGV"},"id":"theaters.fid-76152ac2_16d1e147453_-3f35"},{"type":"Feature","properties":{"brand":"CGV"},"id":"theaters.fid-76152ac2_16d1e147453_-3f32"},{"type":"Feature","properties":{"brand":"CGV"},"id":"theaters.fid-76152ac2_16d1e147453_-3f2c"},{"type":"Feature","properties":{"brand":"CGV"},"id":"theaters.fid-76152ac2_16d1e147453_-3f2a"},{"type":"Feature","properties":{"brand":"롯데시네마"},"id":"theaters.fid-76152ac2_16d1e147453_-3f24"},{"type":"Feature","properties":{"brand":"롯데시네마"},"id":"theaters.fid-76152ac2_16d1e147453_-3f20"},{"type":"Feature","properties":{"brand":"메가박스"},"id":"theaters.fid-76152ac2_16d1e147453_-3f0d"},{"type":"Feature","properties":{"brand":"CGV"},"id":"theaters.fid-76152ac2_16d1e147453_-3f08"},{"type":"Feature","properties":{"brand":"아트나인"},"id":"theaters.fid-76152ac2_16d1e147453_-3ef8"},{"type":"Feature","properties":{"brand":"쇼타임즈"},"id":"theaters.fid-76152ac2_16d1e147453_-3eee"},{"type":"Feature","properties":{"brand":"롯데시네마"},"id":"theaters.fid-76152ac2_16d1e147453_-3eec"}]}'

GeometryType

공간 정보의 객체 유형을 객체별로 추출합니다.

Parameter
Name Type Required Description
geom GeoJSON O Input geometry
Return data
Type Description
string geometry type
[POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, GEOMETRYCOLLECTION]
예제
In [129]:
result = GeometryType(geom='{"type": "Polygon","coordinates": [[[14111359.59, 4498975.62],[14158035.85, 4498975.62],[14158035.85, 4537343.17],[14111359.59, 4537343.17],[14111359.59, 4498975.62]]]}')
result
[1] "call api..."
[1] "result:  Polygon"
'Polygon'