3. History
2009년 KOPSS 4차 사업부터 KOPSS에 다양한 GIS엔진이 진입할 수
있는 기반을 마련하기 위해 KOPSS Open API 설계 시작
- 1차(2009~2010년) : GIS 기본기능 및 단순한 기능들을 중심으로
KOPSS의 공통기능과 도시재정비계획지원모형에 대한 설계
- 2차(2010~2011년) : 1차 설계내용 이외의 모든 기능들(고급분석기
능 포함)에 대한 설계
- 3차(2011 ~ 2012년): 1, 2차 설계 보완, GIS 엔진 벤더사 피드백 반영
등
현재 약 120개(ST_* 33개, 분석 90여개)의 process들로 구성
국토공간계획지원체계(KOPSS) Open API 3
4. 용어정의
WMS, WFS, WCS, WPS
Web Map Service, Web Feature Service, Web Coverage Service, Web Processing
Service
Literal Type
Boolean, short, integer, long, float, double, string…
Complex Type
User defined type, raw data, xml, gml…
GML
Vector layer, feature collection, feature layer…
GridCoverage
Raster, Grid
Filter
Filter Encoding
SLD
Styled Layer Descriptor
SRS
Spatial Reference System
국토공간계획지원체계(KOPSS) Open API 4
5. KOPSS 적용 OGC 표준 범위
Service Version Operator Service Format & version
GetCapabilities
Filter Encoding 1.1(필수)
COMMON
GetMap SLD 1.0(필수) / SLD 1.1
WMS 1.3.0
GetFeatureInfo
GML 3.1.1(필수)
GetLegendGraphic(SLD)
WFS GML 2.1.2
GetCapabilities GML 3.2.1
GetFeature
WFS 1.1.0 GeoTiff(필수)
WCS
DescribeFeatureType Jpeg2000
Transaction
PNG(필수),
WMS
GetCapabilities GIF, JPG, BMP…
WCS 1.1.1 DescribeCoverage
GetCoverage Geometry
GeoJSON
&
GetCapabilities KML 2.1, 2.2
Features
WPS 1.0.0 DescribeProcess WKT
확장
Execute
GeoRSS 2.0
국토공간계획지원체계(KOPSS) Open API 5
6. KOPSS API 구성
Geometry 연산, 벡터, 래스터, 통계, KOPSS Model 분석 프로세스로 구성
Conversion, Density, Custom Extension / Model
Distance, Interpolation, Analysis
Surface Analysis 등 KOPSS Model
Analysis
(KM)
Grid Coverage Statistical Basic & Spatial Statistics 등
Analysis Analysis
(CA) (SA)
WPS
GeoProcessing, Conversion
Calculation, Projection 등
Relationship, Topological
Proximity, Measurement
Operator
Vector Geometry
Analysis Operator
(VA) (ST)
6
8. KOPSS API 구성
Type Category Process Identifier
Statistics(Count, Sum, Mean, Minimum, Maximum, Standard Deviation), Histogram(Value-Frequenc
Statistics
Statistics y pairs), Classify(Equal Interval, Quantile, Natural Breaks 등), AHP, StatisticsEx, Pearson, Regression
Service
(SA)
Spatial Statistics Moran’s I(Global, Local), G Statistics(Global, Local), Spatial LQ, SpatialCrossAnalysis
행정구역별 필지현황 생성, 행정구역별 건축물현황 생성, 접근성분석, 필지경계 생성
공통
KOPSS Density, 접근성분석
형상지수(LFI)
인구추정
- 단순증가선형모형(등차급수법), 등비급수형지수모형(등비급수법), 순간복리형지수모형(지수
KOPSS 터잡이
함수법), 로지스틱모형
Model
Service
거주밀도 소요면적 산정, 주택호수 소요면적 산정, 상업용지 소요면적 산정, 공업용지 소요면적
(KM)
산정 정지량분석
기초현황보기, 수요분석, 수요변화 시뮬레이션, 실제공급량계산, 공급변화 시뮬레이션, 공급적정
시설이
성평가, 입지배분 후보지 탐색, 후보지 접근성분석
지역이 국토지표로부터 다차원 DB 생성
재생이 토지(필지)조서작성, 건축물조서작성, 도로점유율, 주택접도율, 노후불량 건축물조회
기본레이어 생성, 지형도생성, 도로중심선 및 실폭도로, 도로교통주제도, 용도지역지구생성, 건축
C/S 관리도구
물대장 생성, 지적/토지특성 생성, 지적/건축물대장 생성, 인구정보 생성
(2012. 07 기준) 국토공간계획지원체계(KOPSS) Open API 8
9. KOPSS API 제약사항
WMS(1.3.0), WFS(1.1.0), WCS(1.1.1), WPS(1.0.0)는 OGC 규격을 따름
Filter는 Function을 제외한 다음을 지원
Comparison: =, <>, <, >, >=, <=, like, null, between,
Spatial:
Equals, Disjoint, Touches, Within, Overlaps, Crosses, Intersects, Contains, BBOX, Dwit
hin, Beyond
Logical: And, Or, Not
Arithmetic: Add(+), Sub(-), Mul(*), Div(/)
GridCoverage(Raster)는 NoData 처리가 가능해야 함
특정 알고리즘에 대해서는 KOPSS API 문서에 포함된 알고리즘을 구현
KOPSS Density, LFI 등
SRS가 포함된 Geometry가 Input 파라미터로 입력되는 경우 Output Geometry 역시
SRS 정보가 포함되어야 함
<gml:Polygon srsDimension="2" srsName="http://www.opengis.net/gml/srs/epsg.xml#5174">
KML 및 GeoRSS 변환의 경우 WGS84 경위도로 변환
국토공간계획지원체계(KOPSS) Open API 9
10. KOPSS Architecture: Concept
분석기능이 필요 없는 배경지도 및 주제도는 WMS를 이용
분석기능이 필요 없는 레이어의 조회는 WFS를 이용
상호운영성에 중점
DEM/Slope/Aspect 등 대용량의 래스터는 WCS를 이용하여 WPS 등 클라이
언트에서는 Resample, Subset, Reproject 하여 WPS의 파라미터로 넘김
WPS는 WFS, WCS 및 External resource를 source 데이터로 이용하여 분석
후 요청 format으로 리턴
External resource
WPS의 결과
Zip-shapefile, cad 등 reference url
국가공간정보체계 자원 활용하는 경우
지자체의 상황에 따라 Altibase DBMS 를 지원(Data provider)
국토공간계획지원체계(KOPSS) Open API 10
11. KOPSS Architecture: Service
KOPSS 관리도구 KOPSS Web Client API 단위테스트
Mart 관리 통합테스트
HTTP
2D Web KOPSS 연계 시스템
토지이용계획 도시기반시설계획 지역계획 도시재정비계획 UPIS, …
HTTP
OGC OWS 기반 GIS Server
WMS WFS WPS WCS
외부기관
KOPSS DB Sync Sync KLIS, 국토지표통계, 교통, 환경…
(Altibase ?) NSDI DB
국토공간계획지원체계(KOPSS) Open API 11
13. Service Version Operator
Web Coverage Service GetCapabilities
WCS 1.1.1 DescribeCoverage
GetCoverage
Why WCS?
대용량 래스터에 대한 Resample, Subset, Reproject 지원
대상레이어: DEM, Slope, Aspect, Hillshade 및 래스터 형태의 주제도
Ex) 대구 DEM 5*5 = 7459, 9066
Request
<?xml version="1.0" encoding="utf-8"?>
<GetCoverage version="1.1.1" service="WCS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.opengis.net/wcs/1.1.1" xmlns:ows="http://www.opengis.net/ows/1.1"
xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"
xsi:schemaLocation="http://www.opengis.net/wcs/1.1.1 http://schemas.opengis.net/wcs/1.1.1/wcsAll.xsd">
<ows:Identifier>kopss:dem</ows:Identifier>
<DomainSubset>
<ows:BoundingBox crs="urn:ogc:def:crs:EPSG::2096">
<ows:LowerCorner>141265.143 234558.859</ows:LowerCorner>
<ows:UpperCorner>178560.143 279888.859</ows:UpperCorner>
</ows:BoundingBox>
</DomainSubset>
<Output store="true" format="image/geotiff">
<GridCRS>
<GridBaseCRS>urn:ogc:def:crs:EPSG::2096</GridBaseCRS>
<GridType>urn:ogc:def:method:WCS:1.1:2dSimpleGrid</GridType>
<GridOffsets>5.0 -5.0</GridOffsets>
<GridCS>urn:ogc:def:cs:OGC:0.0:Grid2dSquareCS</GridCS>
</GridCRS>
</Output>
</GetCoverage>
국토공간계획지원체계(KOPSS) Open API 13
14. Service Version Operator
Web Coverage Service GetCapabilities
WCS 1.1.1 DescribeCoverage
GetCoverage
서버의 특정 위치에 저장되며, 클라이언트는 위치만 알고 처리
Response
<Output store="true“…….>
<?xml version="1.0" encoding="utf-8"?>
<wcs:Coverages xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows/1.1"
xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://localhost:8090/geoserver/schemas/wcs/1.1.1/wcsCoverages.xsd">
<wcs:Coverage>
<ows:Title>dem</ows:Title>
<ows:Abstract>Generated from GeoTIFF</ows:Abstract>
<ows:Identifier>dem</ows:Identifier>
<ows:Reference xlink:href="http://localhost:8090/server/temp/wcs/dem_9507595085222.tif" />
</wcs:Coverage>
</wcs:Coverages>
국토공간계획지원체계(KOPSS) Open API 14
15. Service Version Operator
Web Coverage Service GetCapabilities
WCS 1.1.1 DescribeCoverage
GetCoverage
Response
<Output store=“false“…….>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_Part_6_1071286.1341808158497"
------=_Part_6_1071286.1341808158497
Content-Type: text/xml
Content-Transfer-Encoding: 7bit
Content-ID: <urn:ogc:wcs:1.1:coverages>
<?xml version="1.0" encoding="UTF-8"?><wcs:Coverages xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ogc="http://www.opengis.net/ogc"
xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://localhost:8090/geoserver/schemas/wcs/1.1.1/wcsCoverages.xsd"><wcs:Coverage><ows:Title>dem</
ows:Title><ows:Abstract>Generated from GeoTIFF</ows:Abstract><ows:Identifier>dem</ows:Identifier><ows:Reference
xlink:href="cid:theCoverage"/></wcs:Coverage></wcs:Coverages>
------=_Part_6_1071286.1341808158497
Content-Type: image/tiff;subtype="geotiff"
Content-Transfer-Encoding: base64
Content-ID: <theCoverage>
TU0AKgAAAAgAEgEAAAMAAAABAJAAAAEBAAMAAAABAIcAAAECAAMAAAABACAAAAEDAAMAAAABAAUA
.......................
3z31333537393/4B4D4F4H4J4L4N4PseICA=
------=_Part_6_1071286.1341808158497--
국토공간계획지원체계(KOPSS) Open API 15
18. Mime type
상호운영성 및 버전관리를 위해 반드시 필요하며, Data source는 모든 WPS process의 결과를 포함
Category Data source Format Mime type
GML2.1 text/xml; subtype=gml/2.1.2
GML3.1 text/xml; subtype=gml/3.1.1(필수)
GML3.2 text/xml; subtype=gml/3.2.1
Custom
Geometry GeoJSON application/json
Features
& KML2.1 text/xml; subtype=kml/2.1 (vnd.google-earth.kml+xml)
WFS
Feature KML2.2 text/xml; subtype=kml/2.2
Shapefile
Collection GeoRSS2.0 Simple text/xml; subtype=rss_simple/2.0 (rss+xml)
Cad Dataset
GeoRSS2.0 GML text/xml; subtype=rss_gml/2.0
Zip-shapefile application/zip
Wkt application/wkt(geometry)
Wkb application/wkb(geometry)
Grid
WCS GeoTiff image/tiff(필수) 또는 image/geotiff
Coverage
text/xml; subtype=sld/1.0.0(필수)
SLD User XML
text/xml; subtype=sld/1.1.0
Filter User XML text/xml; subtype=filter/1.1(필수)
XML User XML text/xml(필수)
Literal User - -
국토공간계획지원체계(KOPSS) Open API 18
29. ST_* Process
Geometry operator
relationship, operator, proximity & distance, edit, conversion 등
Data source = GML
Issue
Precision(이후 VA_* 계열 process 전체 영향)
Buffer - option
Simplify – Douglas-Peucker algorithm
Rotate – radian angle
국토공간계획지원체계(KOPSS) Open API 29
30. ST_* Process: Precision
Single vs Double
Database 저장구조
Geometry 연산
Geometry 연산을 사용하는 모든 분석에 영향
거리, 면적 측정 등
Operator(Function) 등
API 결과 검증은 어떻게 할 것인가?
인정하고 지자체가 도입시 판단?
국토공간계획지원체계(KOPSS) Open API 30
31. ST_* Process: Function
ST_Union, ST_Intersection, ST_Difference, ST_SymDifference
Same Dimension
Point : Point Point
LineString : LineString LineString or MultiLineStrng
Polygon : Polygon Polygon or MultiPolygon
Different Dimension
Point : LineString or Polygon Point
MultiPoint : LineString or Polygon Point or MultiPoint
LineString : Polygon LineString or MultiLineStrng
국토공간계획지원체계(KOPSS) Open API 31
36. ST_* Process: NearestPoint
returns the nearest point on a geometry to the input geometry.
target
source Nearest Point
국토공간계획지원체계(KOPSS) Open API 36
37. ST_* Process: SetSRID
Sets the SRID on a geometry to a particular SRID
<?xml version="1.0" encoding="utf-8"?>
<wps:Execute version="1.0.0" service="WPS" ……..>
<ows:Identifier>kopss:ST_SetSRID</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>inputGeometry</ows:Identifier>
<wps:Data>
<wps:ComplexData mimeType="text/xml; subtype=gml/3.1.1">
<gml:Point>
<gml:pos>129.6042549474073 36.80640958328785</gml:pos>
</gml:Point>
</wps:ComplexData>
</wps:Data>
</wps:Input>
<wps:Input>
<ows:Identifier>srID</ows:Identifier>
<wps:Data>
<wps:LiteralData>EPSG:4326</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs> …..
<?xml version="1.0" encoding="UTF-8"?>
<gml:Point srsDimension="2" srsName="http://www.opengis.net/gml/srs/epsg.xml#4326" ...>
<gml:pos>129.6042549474073 36.80640958328785</gml:pos>
</gml:Point>
국토공간계획지원체계(KOPSS) Open API 37
42. VA_* Process
Vector(FeatureCollection) analysis
Overlay, proximity, extraction, generalization, conversion,
projection, calculation
Data source = GML(WFS 포함)/XML
Issue
overlay(intersect, union, difference…) precision
Cad(dxf) to feature collection
Accessibility – Network(Dijkstra's algorithm)
Fishnet
국토공간계획지원체계(KOPSS) Open API 42
43. VA_* Process: Cad(dxf) Conversion
Cad Dataset의 포맷은 DXF 버전 12 이상을 사용한다.
Filter Encoding을 이용하여 제약조건을 설정할 수 있으며 변환
가능한 Feature 유형은 Point, LineString, Polygon, Text(Point)의
4가지 옵션을 설정할 수 있다.
모든 Feature는 layer(String) 필드는 반드시 포함해야 한다.
Feature 유형이 라인 및 포인트의 경우 height(Double) 필드를,
Text일 경우 textlabel(String) 필드를 포함해야 한다.
DXF 파일은 좌표체계정보를 가질 수 없으므로 forcedCRS(예
EPSG:4326) 파라미터를 추가하여 좌표체계를 정의할 수 있도
록 한다.
국토공간계획지원체계(KOPSS) Open API 43
45. VA_* Process: Cad(dxf) Conversion
KOPSS에서는 주로 폴리곤(사업지구 경계 등) 및 텍스트포인트(지구명 등)를 추출
하여 폴리곤 내 텍스트포인트의 속성을 계산하여 활용
ArcGIS와 비교
국토공간계획지원체계(KOPSS) Open API 45
46. VA_* Process: Fishnet
boundary 입력시 boundaryInside 파라미터를 설정한다.
boundary가 LineString일 경우 boundaryInside는 False만
사용한다.
column 및 row 수, width 및 height 파라미터가 모두 입력되
는 경우 column 및 row가 방식이 우선한다.
Fishnet 생성은 ArcGIS 또는 그리드 생성 방식에 맞춰 좌하
단(LL)에서 우상단(UR) 방향으로 계산한다.
셀의 width 및 height가 주어졌을 경우 extent 크기를 늘려
분석영역을 완전히 포함해야 한다.
리턴되는 feaure collection의 스키마는 UID(Interger, 일련
번호)를 포함한다.
국토공간계획지원체계(KOPSS) Open API 46
47. VA_* Process: Fishnet
좌하단(LL)에서 우상단(UR) 방향으로 계산
셀의 width 및 height가 주어졌을 경우 extent 크기를 늘려 분석영역을 완전히 포함
21 22 23 24 25
16 17 18 19 20
11 12 13 14 15
6 7 8 9 10
1 2 3 4 5
boundaryInside: true or false
국토공간계획지원체계(KOPSS) Open API 47
49. VA_* Process: Overlay
Overlay(intersect, union, difference<erase>, identity, symmetrical difference)
precision
Intersect = && (logical AND)
Union = || (logical OR)
Identity = a + (a AND b)
Symmetrical Difference= (a OR b) - (a AND b)
Erase(Difference) = a NOT b
Update = (a NOT b) + b
General Process
ArcGIS: cracking features assembling features overlay processing
Other Tools: overlay processing : 각 레이어별로 Feature의 Geometry가 중첩되는 경우
ArcGIS와 결과 달라짐
Cluster tolerance
API 검증에서 ArcGIS는 0.0으로 설정하면 면적(10) 이상인 피쳐의 개수가 동일할 경우
Overlay 연산 결과 피쳐의 Geomery가 Null 또는 Empty인 경우 결과에서 제외
두 레이어의 Overlay 연산에서 두번째 레이어의 필드가 첫번째 필드와 이름이 같을
경우 _1, _n 규칙으로 이름 변경
국토공간계획지원체계(KOPSS) Open API 49
50. VA_* Process: Intersect
Intersect
서로 다른 차원의 레이어인 경우 차수가 낮은 차원의 레이어가 기준
Input layer Overlay layer
국토공간계획지원체계(KOPSS) Open API 50
51. VA_* Process: Union
Union
Polygon layer간의 연산만 수행
Input layer Overlay layer
국토공간계획지원체계(KOPSS) Open API 51
52. VA_* Process: Union & Intersect
x,y resolution
The precision with which coordinates within a feature class are recorded
The default x,y resolution for feature classes is 0.0001 meters or its equivalent in the units of the dataset's
coordinate system.
x,y tolerance
A cluster tolerance used to cluster features with coincident geometry; used in topology, feature overlay, and
related operations
The x,y tolerance is used to set the minimum distance between coordinates in clustering operations, such as
topology validation, buffer generation, and polygon overlay, as well as in some editing operations.
The default x,y tolerance is set to 0.001 meters or its equivalent in the units of the dataset's real-world
coordinate system (in other words, 0.001 meters on the ground)
The default value for the x,y tolerance is 10 times the default x,y resolution, and this is recommended for most
cases.
ArcGIS 사례 : Cluster tolerance = 0
GDB를 사용하는 경우
Tolerance = 0이라도 gdb의 default x,y tolerance를 따름
API 단위테스트 샘플데이터셋 Union : 42개의 피쳐
Shapefile을 사용하는 경우
면적
Null shape
API 단위테스트 샘플데이터셋 Union : 55개의 피쳐
국토공간계획지원체계(KOPSS) Open API 52
53. VA_* Process: Clip
Case 1
Input layer의 각 Feature별 clip layer의 Feature가 한 개 intersect 되는 경우
Input layer의 속성 유지
Input layer Clip layer
국토공간계획지원체계(KOPSS) Open API 53
54. VA_* Process: Clip
Case 2
Input layer의 각 Feature별 clip layer의 Feature가 여러 개 intersect 되는 경우
Input layer의 속성 유지
Input layer Clip layer
국토공간계획지원체계(KOPSS) Open API 54
55. VA_* Process: Buffer
Quadrant Segments: 24(default), End cap style : Round(default)
국토공간계획지원체계(KOPSS) Open API 55
56. VA_* Process: Dissolve & PointStatistics
Sum.Jiga, Mean.Jiga SUM_Jiga, AVG_Jiga
입력 파라미터 리턴 필드
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_필드명
국토공간계획지원체계(KOPSS) Open API 56
57. VA_* Process: Accessibility Network
Dijkstra's algorithm(default), A-Star(A*), Shooting-Star(Shooting*)
길이 및 차선에 대한 weight 설정이 가능해야 함
국토공간계획지원체계(KOPSS) Open API 57
59. CA_* Process
Raster analysis
Conversion, density, distance, classification, extraction, zonal, overlay, s
urface, math, custom…
Data source = GML(WFS 포함)/GeoTIFF(WCS 포함)
Issue
Common – cell size, extent, search radius
Zonal statistics - 통계
Surface – slope, aspect, hillshade 등 algorithm
Conversion – point, line, polygon
Density – kernel 함수
(Quadratic<Arcgis>, Binary, Cosine, Distance, Epanechnikov, Gaussian, In
verse_Distance, Quartic, Triangular, Triweight, Tricube)
Resample – origin point
국토공간계획지원체계(KOPSS) Open API 59
60. CA_* Process: Common
Cell Size
셀 크기가 주어지지 않은 래스터 분석의 경우 셀 크기는 입력데이
터 Extent의 width 및 height 중 작은 값을 250으로 나눈 값을 사용
Ex) CellSize = Math.min(Extent.getWidth(), Extent.getHeight()) / 250.0d
Extent
Extent가 주어지는 경우
Default = 입력 데이터의 extent
Density 등 분석에서 Extent가 주어지지 않는 경우
…
Search Radius(Band width)
Density 등 기본 탐색반경
Ex) searchRadius = Math.min(extent.getWidth(), extent.getHeight()) / 30.0d;
국토공간계획지원체계(KOPSS) Open API 60
62. CA_* Process: FeaturesToCoverage
LineString(MultiLineString)
Algorithm
Bresenham's line algorithm ?
Scan-line algorithm ?
ArcGIS
Cell assignment
MAXIMUM_LENGTH(default)
GDAL
Bresenham's line algorithm
국토공간계획지원체계(KOPSS) Open API 62
63. CA_* Process: FeaturesToCoverage
Polygon(MultiPolygon)
Algorithm
Polygon Filling Algorithm ?
Scan Line Fill Algorithm ?
ArcGIS & GDAL
Cell assignment
CELL_CENTER(default)
국토공간계획지원체계(KOPSS) Open API 63
64. CA_* Process: Surface
Algorithm : Slope, Aspect, Hillshade 분석에 영향
① Neighborhood Method. Burrough, P. A. and Mcdonell, R.A. Algorithm
(1998). Included in ArcGIS.
② 2nd Degree Polynomial Adjustment. Bauer, Rohdenburg and Bork
Algorithm (1985)
③ 2nd Degree Polynomial Adjustment. Heerdegen and Beran Algorithm
(1982).
④ 2nd Degree Polynomial Adjustment. Zevenbergen and Thorne Algorithm
(1987).
⑤ 3rd Degree Polynomial Adjustment. Haralick Algorithm (1983)
⑥ Maximum Slope. Travis Algorithm (1975)
⑦ Maximum Slope by Triangles. Tarboton Algorithm (1997)
⑧ Least Squares Fit Plane. Costa-Cabral and Burgess Algorithm (1996)
⑨ Maximum Downhill Slope. Hickey, Van Remortel and Maichle Algorithm
(2004)
출처: http://www.unesco.org.uy/phi/aqualac/fileadmin/phi/aqualac/GarciaRodriguez_et_al_p78-82.pdf
국토공간계획지원체계(KOPSS) Open API 64
65. CA_* Process: Surface
Slope algorithm: Neighborhood Method
slope_degrees = ATAN (rise_run) * 57.29578 (180/pi)
rise_run = √ ([dz/dx]2 + [dz/dy]2]
[dz/dx] = ((c + 2f + i) - (a + 2d + g) / (8 * x_cellsize)
[dz/dy] = ((g + 2h + i) - (a + 2b + c)) / (8 * y_cellsize)
Edge 셀 처리
• 위 (3 x 3 window) 셀에서 e(중심셀)의 값이 NoData이면 NoData값을 리턴
• e 셀을 제외한 나머지 셀의 값이 NoData인 경우 e 셀 값으로 대체하여 계산
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/How_Slope_works/009z000000vz000000/
국토공간계획지원체계(KOPSS) Open API 65
67. CA_* Process: Density
ArcGIS kernel function is based on the quadratic kernel function
described in Silverman (1986, p. 76, equation 4.5).
Silverman, B.W. Density Estimation for
Statistics and Data Analysis. New York:
Chapman and Hall, 1986.
출처: http://www.bchydro.com/
국토공간계획지원체계(KOPSS) Open API 67
87. CA_* Process: Zonal statistics
FeaturesToGridCoverage 와 관련
COUNT AREA MIN MAX RANGE MEAN STD SUM
286673 7166825 49 490 441 177.32552 101.90411 50834436
286661 7166525 49 490 441 177.38812 101.94474 50850256
286674 7166850 49 490 441 177.32485 101.90420 50834425
국토공간계획지원체계(KOPSS) Open API 87
88. CA_* Process: CoverageToFeatures
ArcGIS 9.3
RasterToPolyline
Weeding uses the Douglas – Peucker algorithm for line generalization
with a tolerance of sqrt(0.5) * cell size.
RasterToPolygon
The weeding parameter uses an algorithm specifically designed for
raster-to-vector conversion. It is not the Douglas – Peucker algorithm.
ArcGIS 10.0/10.1
정보 없음
http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=RasterDataToLineFeatureData
국토공간계획지원체계(KOPSS) Open API 88
90. CA_* Process: Resample
ArcGIS
The lower left corner of the output raster dataset will be the
same map space coordinate location as the lower left corner of
the input raster dataset.
The numbers of rows and columns in the output raster are
determined as follows:
columns = (xmax - xmin) / cell size
rows = (ymax - ymin) / cell size
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Resample/00170000009t000000/
국토공간계획지원체계(KOPSS) Open API 90
91. CA_* Process: Resample
1 * 1 미터 래스터를 3 * 3 미터 래스터로 Nearest neighbor 방법으로 리샘플링
Extent 및 Snap 설정: default Extent 및 Snap 미설정
http://www.onspatial.com/2010/02/spatial-analysis%EB%B6%84%EC%84%9D%ED%99%98%EA%B2%BD%EC%9D%98-
%EC%A0%95%EC%9D%98%EA%B0%80-%EC%A4%91%EC%9A%94%ED%95%98%EB%8B%A4.html
국토공간계획지원체계(KOPSS) Open API 91
92. CA_* Process: Extraction
Filter Encoding 표준을 이용하여 ArcGIS의 Spatial Analyst
Extension 중 다음 툴을 포함
Extract by Attributes
Extracts the cells of a raster based on a logical query.
Extract by Circle
Extracts the cells of a raster based on a circle.
Extract by Points
Extracts the cells of a raster based on a set of coordinate points.
Extract by Polygon
Extracts the cells of a raster based on a polygon.
Extract by Rectangle
Extracts the cells of a raster based on a rectangle.
공간필터를 사용하는 경우 래스터의 범위는 Geometry의 범위
http://resources.arcgis.com/en/help/main/10.1/#/An_overview_of_the_Extraction_tools/009z00000028000000/
국토공간계획지원체계(KOPSS) Open API 92
93. CA_* Process: Extraction
속성필터: Extract by Attributes
Ex) Value >= 25
<wps:Input>
<ows:Identifier>filter</ows:Identifier>
<wps:Data>
<wps:ComplexData mimeType="text/xml; subtype=filter/1.1">
<ogc:Filter>
<ogc:PropertyIsGreaterThan>
<ogc:PropertyName>Value</ogc:PropertyName>
<ogc:Literal>25</ogc:Literal>
</ogc:PropertyIsGreaterThan>
</ogc:Filter>
</wps:ComplexData>
</wps:Data>
</wps:Input>
국토공간계획지원체계(KOPSS) Open API 93
97. SA_* Process
Statistics(general & spatial) analysis
Basic, advance, spatial statistics
Data source = XML/GML(WFS 포함)/ GeoTIFF(WCS 포함)
Issue
Classify
Equal interval, Quantile, Natural breaks, Standard deviation
Moran’s I, G-statistics
Ture centroid, Maximum Nearest Neighbor Distance
SpatialLQ
Centroid & polygon
국토공간계획지원체계(KOPSS) Open API 97
98. SA_* Process: Classify
Classify
Equal Interval
Min, Max
Quantile
sorting
Natural Breaks
sorting
Standard Deviation
Mean, StdDev.
국토공간계획지원체계(KOPSS) Open API 98
99. SA_* Process: Equal interval
Equal interval
Equal interval divides the range of attribute values into equal-sized
subranges. ex)percentages and temperature
interval = (max – min) / number of classes
http://resources.arcgis.com/en/help/main/10.1/#/Classifying_numerical_fields_for_graduated_symbology/00s50000001r000000/
국토공간계획지원체계(KOPSS) Open API 99
100. SA_* Process: Quantile
Quantile
Each class contains an equal number of features.
quanta = number of samples / number of classes
같은 값이 있거나 개수가 소수자리일 경우 오차 발생 가능
http://resources.arcgis.com/en/help/main/10.1/#/Classifying_numerical_fields_for_graduated_symbology/00s50000001r000000/
국토공간계획지원체계(KOPSS) Open API 100
103. SA_* Process: Natural Breaks
Natural Breaks(Jenks optimization method)
Class breaks are identified that best group similar values and that maximize
the differences between classes.
http://support.esri.com/en/knowledgebase/techarticles/detail/11961
http://resources.arcgis.com/en/help/main/10.1/#/Classifying_numerical_fields_for_graduated_symbology/00s50000001r000000/
국토공간계획지원체계(KOPSS) Open API 103
106. SA_* Process: Standard Deviation
Standard Deviation
Class breaks are created with equal value ranges that are a proportion of
the standard deviation—usually at intervals of 1, ½, ⅓, or ¼ standard
deviations using mean values and the standard deviations from the mean.
소프트웨어마다 분류기준 및 계급 수의 변화 오차
국토공간계획지원체계(KOPSS) Open API 106
109. SA_* Process: Moran’s I Global
Moran(1950)의 I 통계량은 공간자료들의 자기상관성을 측정, 전역적
통계량은 분석지역 내에서 유사한 값들의 전반적인 공간군집경향을
요약
국토공간계획지원체계(KOPSS) Open API 109
110. SA_* Process: Moran’s I Local
국지적 통계량은 특정지역을 중심으로 주변에 유사한 값들의 공간적
군집도를 나타낸다. Anselin Local Moran's I statistic.
True centroid
국토공간계획지원체계(KOPSS) Open API 110
111. SA_* Process: G-Statistics Global
G 통계량은 큰 값들의 공간 군집도를 나타내며, 값이 클수록 공간군
집도가 큰 것으로 해석한다(Getis and Ord, 1992)
True centroid
국토공간계획지원체계(KOPSS) Open API 111
116. KM_* Process
KOPSS model
KOPSS Data와 강결합되어 있거나, WFS 서비스로 처리가 불가능한
대용량의 데이터
Data source = XML/GML(WFS 포함)/ GeoTIFF(WCS 포함) /Direct
connection
Issue
Location-Allocation
국토공간계획지원체계(KOPSS) Open API 116
117. KM_* Process: Location-Allocation
시설의 공급적정성 평가에 의해 해당시설이 부족하다고 판단된 지역을 대상으로 신규 시설
의 최적의 입지를 입지배분방법에 따라 탐색
Location-Allocation Algorithm
PMedian: 노드별 총통행거리합 최소화
MaxiMin: 노드별 최대통행거리 최소화
MiniMax: 노드별 최소통행거리 최대화
국토공간계획지원체계(KOPSS) Open API 117
118. 참고: GIS Program
KOPSS C/S Program – ArcGIS Engine
ArcGIS 10.0
MapInfo Professional 11.0
Quantum GIS (1.7.0)
GDAL library
Open source GIS Tool & libraries
국토공간계획지원체계(KOPSS) Open API 118
119. 참고: API 단위테스트 프로그램
의견수렴 후 API 설계서/샘플 데이터셋과 함께 공지
국토공간계획지원체계(KOPSS) Open API 119