Sunteți pe pagina 1din 956

Spatial Extension for GeoServer WPS 1.

Spatial Extension for GeoServer WPS v1.0 User Manual

This book informs that it was produced by receiving the support of the research fund of
the Ministry of Land, Infrastructure and Transport (KISA) (project number 14NSIP-
B080144-01)..

First edition issued on August 9, 2016

October 1, 2017 issued second edition

October 1, 2018 3rd edition issued

Author: Lee Min Woo, Kim Ji Hyun


Supervision: for poultry
Cover Design: Park Jae Hyun

Edit: Kim Ji Hyun

Published by: Mango System Co., Ltd.


Published by: Gaia Three D Co., Ltd.
Address: 1359 Hansin Esmega 230, Kunpyeong-dong, Yuseong-gu, Daejeon
Phone: 042-330-0400
Fax: 042-330-0410
Publication registration: No. 2012-000016
ISBN: 978-89-969532-6-5(95000)

This book is not for sale.

2
Spatial Extension for GeoServer WPS 1.0

Copyright Notice
Copyright ⓒ 2016 MangoSystem Inc. All Rights Reserved.

Address: 2307-ho, Pyengchon O'biztower, 126, Beolmal-ro, Dongan-gu, Anyang-si, Gyeonggi-do,

431-060 South Korea

Tel: 82-31-450-3411 Fax: 82-31-450-3414

E-mail: master.mangosystem@gmail.com

Homepage: http://www.mangosystem.com

Online Documentation: http://gxt.mangosystem.com

Restricted Rights Legend


The contents and programs of this software (MangoSystem Spatial Extension for GeoServer WPS®) are
protected by copyright laws, computer program protection laws and international treaties. The contents
of this manual and the programs described here are provided by MangoSystem Inc. And license
agreement, and may be used or reproduced only in compliance with the license agreement.
You may not transmit, reproduce, distribute, or make derivative works of this manual in whole or in part
by means of electronic, mechanical, recording or otherwise without the prior written consent of
MangoSystem.

Trademarks
MangoSystem Spatial Extension for GeoServer Is a registered trademark of All other products and
company names are trademarks of their respective owners and are used for informational purposes only.

Open Source Software Notice


This product includes open source

software developed or licensed by

"GeoTools" or "GeoServer". Please refer

to the information below for more

information.

⚫ GeoTools: http://www.geotools.org

⚫ GeoServer: http://geoserver.org

About this guide

Guide Title: Spatial Extension for GeoServer WPS User's Guide


Issue date: 2016-12-31

Software Version: Spatial Extension for GeoServer WPS 1.0


Guide version: 1.0
3
Spatial Extension for GeoServer WPS 1.0

Contents

1 Web Processing Service ..............................................................................................................................8

1.1. Web Processing Service.............................................................................................................8

1.2. Operations .......................................................................................................................................9

1.2.1. GetCapabilities ......................................................................................................................9

1.2.2. DescribeProcess................................................................................................................. 11

1.2.3. Execute .................................................................................................................................. 13

1.3. Input & Output Parameters.................................................................................................. 15

1.3.1. Literal...................................................................................................................................... 16

1.3.2. BoundingBox....................................................................................................................... 16

1.3.3. Complex................................................................................................................................ 16

1.4. Response Form........................................................................................................................... 18

1.4.1. RawDataOutput ................................................................................................................. 18

1.4.2. ResponseDocument......................................................................................................... 19

1.5. Mime Type.................................................................................................................................... 20

2 Installation ...................................................................................................................................................... 21

2.1. GeoServer 와 WPS Extension............................................................................................... 21

2.1.1. Java and Tomcat ............................................................................................................... 21

2.1.2. GeoServer and WPS Extension ................................................................................... 22

2.2. Spatial Extension for GeoServer WPS .............................................................................. 23


2.3. Server Configuration ................................................................................................................ 24

4
Spatial Extension for GeoServer WPS 1.0

2.3.1. GeoServer Data Directory ............................................................................................. 24

2.3.2. Global Setting..................................................................................................................... 24

2.3.3. WFS Shape-zip Encoding 문제 .................................................................................. 25

2.3.4. Custom Projection............................................................................................................ 26

2.3.5. WPS Process Output Encoding 문제....................................................................... 26

3 Quick Start...................................................................................................................................................... 28

3.1. Overview........................................................................................................................................ 28

3.2. WPS Page...................................................................................................................................... 29

3.3. WPS Request Builder ............................................................................................................... 30

3.4. Performance Tips....................................................................................................................... 33

3.4.1. WFS......................................................................................................................................... 33

3.4.2. WCS ........................................................................................................................................ 34

4 WPS Process Reference............................................................................................................................ 37

4.1. Process ........................................................................................................................................... 37

4.2. Vector Analysis ........................................................................................................................... 42

4.2.1. Spatial Unit Creation....................................................................................................... 42

4.2.2. Calculation ........................................................................................................................... 66

4.2.3. Extract .................................................................................................................................... 85

4.2.4. Overlay................................................................................................................................... 96

4.2.5. Proximity.............................................................................................................................113
4.2.6. Aggregation ......................................................................................................................137

4.2.7. Generalization ..................................................................................................................168

5
Spatial Extension for GeoServer WPS 1.0

4.2.8. Editing..................................................................................................................................183

4.2.9. Feature Tools ....................................................................................................................200

4.3. Raster Analysis..........................................................................................................................268

4.3.1. Descriptive .........................................................................................................................268

4.3.2. Conversion.........................................................................................................................277

4.3.3. Distance ..............................................................................................................................295

4.3.4. Math .....................................................................................................................................298

4.3.5. Classification .....................................................................................................................307

4.3.6. Management.....................................................................................................................310

4.3.7. Extraction............................................................................................................................323

4.3.8. Density.................................................................................................................................339

4.3.9. Interpolation .....................................................................................................................349

4.3.10. Surface Analysis...............................................................................................................356

4.3.11. Zonal.....................................................................................................................................385

4.3.12. Projection ...........................................................................................................................389

4.3.13. Utilities.................................................................................................................................396

4.4. Spatial Statistics Analysis .....................................................................................................409

4.4.1. Descriptive .........................................................................................................................409

4.4.2. Distributions......................................................................................................................421
4.4.3. Point Pattern Analysis...................................................................................................438

4.4.4. Global Spatial Auto-Correlation...............................................................................449

6
Spatial Extension for GeoServer WPS 1.0

4.4.5. Local Spatial Auto-Correlation..................................................................................467

4.4.6. Global Spatial Modeling..............................................................................................482

5 Web Processing Service Demo Application ..................................................................................486

5.1. Introduction ...............................................................................................................................486

5.1.1. Goal.......................................................................................................................................486

5.1.2. Open Source Libraries & Programs .......................................................................486

5.1.3. Spatial Data.......................................................................................................................487

5.1.4. How to install ...................................................................................................................488

5.2. Examples......................................................................................................................................492

5.2.1. General ................................................................................................................................492

5.2.2. D1 ..........................................................................................................................................496

5.2.3. D2 ..........................................................................................................................................502

5.2.4. D3 ..........................................................................................................................................509

5.2.5. D4 ..........................................................................................................................................514

5.2.6. D5 ..........................................................................................................................................520

6 References ....................................................................................................................................................523

6.1. How to Contribute..................................................................................................................523

6.2. Reference ....................................................................................................................................523


7
Spatial Extension for GeoServer WPS 1.0

1 Web Processing Service

1.1. Web Processing Service


The Web Processing Service (WPS) 1 is a standard interface for defining and executing various
processing services (Geo-Processing2 services) on the web. All OGC standard web services
(Web Feature Service, Web Coverage Service, etc.) And is interoperable with.
In general, WPS is not bound directly to specific data,
And process services that accept dynamically-supplied data or data references (such as WFS
output) as input and process them.
WPS allows you to perform complex calculations (such as generating climate models) from
simple calculations (such as buffer calculations)
In principle, there is no restriction in implementing based on WPS interface. That is, the
process of configuring WPS can be implemented variously according to the purpose.
WPS
The major operations of the service are as follows.

요청 응답 설명
GetCapabilities XML Return meta information about serviceable process as XML

DescribeProcess XML Provides detailed information about the process (input, output,available formats, etc.)

Excute XML Run one of the processes that WPS provides and return the result

Etc The result of the WPS may be a Map, Feature, Coverage,

Various customization formats can be defined

1 https://en.wikipedia.org/wiki/Web_Processing_Service

2
Geo-Processing is a process used to manipulate GIS data. It consists of one or more input data

It is a format that returns the result after data processing by using it. Usually, there is nesting, raster analysis,
and data conversion.

8
Spatial Extension for GeoServer WPS 1.0

1.2. Operations

The Web Processing Service version 1.0.0 consists of three operations: GetCapabilities,
DescribeProcess, and Execute.
1.2.1. GetCapabilities

Provides metadata about operation and process list provided by WPS server.
◼ HTTP Get Request

http://127.0.0.1:8080/geoserver/ows?

service=wps&

version=1.0.0&

request=GetCapabilities

◼ Response Document

<?xml version="1.0" encoding="utf-8"?>

<wps:Capabilities xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en" service="WPS" version="1.0.0"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:ServiceIdentification>

<ows:Title>Prototype GeoServer WPS</ows:Title>

<ows:Abstract />

<ows:ServiceType>WPS</ows:ServiceType>

<ows:ServiceTypeVersion>1.0.0</ows:ServiceTypeVersion>

</ows:ServiceIdentification>

<ows:ServiceProvider>

<ows:ProviderName>Mango System inc.</ows:ProviderName>

<ows:ProviderSite xlink:href="http://geoserver.org" />

<ows:ServiceContact />

</ows:ServiceProvider>

<ows:OperationsMetadata>

<ows:Operation name="GetCapabilities">

<ows:DCP>

<ows:HTTP>
<ows:Get xlink:href="http://127.0.0.1:8080/geoserver/wps" />

<ows:Post xlink:href="http://127.0.0.1:8080/geoserver/wps" />

</ows:HTTP>

</ows:DCP>

</ows:Operation>

9
Spatial Extension for GeoServer WPS 1.0

<ows:Operation name="DescribeProcess">

<ows:DCP>

<ows:HTTP>

<ows:Get xlink:href="http://127.0.0.1:8080/geoserver/wps" />

<ows:Post xlink:href="http://127.0.0.1:8080/geoserver/wps" />

</ows:HTTP>

</ows:DCP>

</ows:Operation>

<ows:Operation name="Execute">

<ows:DCP>

<ows:HTTP>

<ows:Get xlink:href="http://127.0.0.1:8080/geoserver/wps" />

<ows:Post xlink:href="http://127.0.0.1:8080/geoserver/wps" />

</ows:HTTP>

</ows:DCP>

</ows:Operation>

</ows:OperationsMetadata>

<wps:ProcessOfferings>

<wps:Process wps:processVersion="1.0.0">

<ows:Identifier>statistics:AttributeJoin</ows:Identifier>

<ows:Title>Join Features By Attributes</ows:Title>

<ows:Abstract>Joins features to another features or attribute table based on a common

field.</ows:Abstract>

</wps:Process>

<wps:Process wps:processVersion="1.0.0">

<ows:Identifier>statistics:BufferFeatures</ows:Identifier>

<ows:Title>Buffer Features using Expression</ows:Title>

<ows:Abstract>Buffers a features using a certain distance expression.</ows:Abstract>

</wps:Process>

...

</wps:ProcessOfferings>

<wps:Languages>

<wps:Default>
<ows:Language>en-US</ows:Language>

</wps:Default>

<wps:Supported>

<ows:Language>en-US</ows:Language>

</wps:Supported>

</wps:Languages>

</wps:Capabilities>

10
Spatial Extension for GeoServer WPS 1.0

1.2.2. DescribeProcess
Provides metadata such as input and output parameters of process provided by WPS server,
Mime type related to each parameter, default value of parameter, whether process status is
supported.

◼ HTTP Get Request

http://127.0.0.1:8080/geoserver/ows?

service=wps&

version=1.0.0&

request=DescribeProcess&

Identifier=statistics:BufferFeatures

◼ Response Document

<?xml version="1.0" encoding="utf-8"?>

<wps:ProcessDescriptions xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en" service="WPS" version="1.0.0"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ProcessDescription wps:processVersion="1.0.0" statusSupported="true" storeSupported="true">

<ows:Identifier>statistics:BufferFeatures</ows:Identifier>

<ows:Title>Buffer Features using Expression</ows:Title>

<ows:Abstract>Buffers a features using a certain distance expression.</ows:Abstract>

<DataInputs>

<Input maxOccurs="1" minOccurs="1">

<ows:Identifier>inputFeatures</ows:Identifier>

<ows:Title>Input Features</ows:Title>

<ows:Abstract>Input features to be buffered.</ows:Abstract>

<ComplexData>

<Default>

<Format>

<MimeType>text/xml; subtype=wfs-collection/1.0</MimeType>

</Format>

</Default>

<Supported>
<Format>

<MimeType>text/xml; subtype=wfs-collection/1.0</MimeType>

</Format>

<Format>

<MimeType>application/json</MimeType>

11
Spatial Extension for GeoServer WPS 1.0

</Format>

</Supported>

</ComplexData>

</Input>

<Input maxOccurs="1" minOccurs="1">

<ows:Identifier>distance</ows:Identifier>

<ows:Title>Distance Expression</ows:Title>

<ows:Abstract>The distance expression used to create distance. ex) 1000 or [field] or [field] * 0.5

etc...</ows:Abstract>

<LiteralData>

<ows:AnyValue />

</LiteralData>

</Input>

<Input maxOccurs="1" minOccurs="0">

<ows:Identifier>quadrantSegments</ows:Identifier>

<ows:Title>Quadrant Segments</ows:Title>

<ows:Abstract>the number of line segments used to represent a quadrant of a

circle.</ows:Abstract>

<LiteralData>

<ows:DataType>xs:int</ows:DataType>

<ows:AnyValue />

</LiteralData>

</Input>

</DataInputs>

<ProcessOutputs>

<Output>

<ows:Identifier>result</ows:Identifier>

<ows:Title>Result Features</ows:Title>

<ComplexOutput>

<Default>

<Format>

<MimeType>text/xml; subtype=wfs-collection/1.0</MimeType>

</Format>
</Default>

<Supported>

<Format>

<MimeType>text/xml; subtype=wfs-collection/1.0</MimeType>

</Format>

<Format>

<MimeType>text/xml; subtype=gml/3.1.1</MimeType>

</Format>

12
Spatial Extension for GeoServer WPS 1.0

</Supported>

</ComplexOutput>

</Output>

</ProcessOutputs>

</ProcessDescription>

</wps:ProcessDescriptions>

1.2.3. Execute
HTTT Operation to execute Get / Post based process. The following is an example of a request
statement that runs the Simplify process.

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:Simplify</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.1.0" outputFormat="GML3"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:road"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>tolerance</ows:Identifier>

<wps:Data>
<wps:LiteralData>30</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="application/json">

<ows:Identifier>result</ows:Identifier>

13
Spatial Extension for GeoServer WPS 1.0

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

For more information about the processes provided by GeoServer and Spatial Extension for GeoServer,
please refer to Chapter 3 GeoServer Process Reference.

14
Spatial Extension for GeoServer WPS 1.0

1.3. Input & Output Parameters


The parameters used in WPS are divided into Data Input and Process Output as follows.

Data Input 파라미터는 LiteralData, BoundingBoxData, ComplexData 로, Process Output


The parameters are subdivided into LiteralOutput, BoundingBoxOutput, and ComplexOutput.

15
Spatial Extension for GeoServer WPS 1.0

1.3.1. Literal
The Literal data type is a parameter passed as a string containing the Java Native Type. This
includes byte, short, int, long, float, double, String and other Enum, Filter Expression, and so
on.

The following example shows Literal data being used in a WPS request statement.
<wps:Input>

<ows:Identifier>joinType</ows:Identifier>

<wps:Data>

<wps:LiteralData>KeepAllRecord</wps:LiteralData>

</wps:Data>

</wps:Input>

1.3.2. BoundingBox
The BoundingBox data type is a parameter that represents the minimum bounding rectangle
consisting of LowerCorner, UpperCorner, and Coordinate Reference System (CRS). The
following is used in the WPS request statement:

<wps:Input>

<ows:Identifier>clip</ows:Identifier>

<wps:Data>

<wps:BoundingBoxData crs="EPSG:5181" dimensions="2">

<ows:LowerCorner>0.0 0.0</ows:LowerCorner>

<ows:UpperCorner>100.0 200.0</ows:UpperCorner>

</wps:BoundingBoxData>

</wps:Data>

</wps:Input>

1.3.3. Complex
Complex data types are all user defined type parameters except Literal and BoundingBox
parameters. They can be expanded by implementing process parameter IO such as XML, GML,
GeoJSON, raster data (GeoTIFF etc.), Filter Encoding and SLD (Styled Layer Descriptor) I will.

◼ Geometry 의 WKT 포맷 활용

16
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>poi</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="text/xml; subtype=gml/3.1.1"><![CDATA[POINT(100

200)]]></wps:ComplexData>

</wps:Data>

</wps:Input>

◼ Utilizing WFS service data

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.1.0" outputFormat="GML3"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:stores"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

◼ Utilize WCS service data

<wps:Input>

<ows:Identifier>coverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>cite:dem</ows:Identifier>

<wcs:DomainSubset>

<gml:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#5181">

<ows:LowerCorner>360798.47130000126 166606.5</ows:LowerCorner>

<ows:UpperCorner>409658.47130000126 212476.5</ows:UpperCorner>
</gml:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

17
Spatial Extension for GeoServer WPS 1.0

1.4. Response Form


There are two types of request for Process Output in WPS request statement:
RawDataOutput and ResponseDocument.

1.4.1. RawDataOutput
When you request with RawDataOutput, the response returns XML, GML, GeoJSON, raster data
directly. The following example returns xml directly with RawDataOutput.
18
Spatial Extension for GeoServer WPS 1.0

1.4.2. ResponseDocument
When a request is made with ResponseDocument, the response is returned in WPS's
ExecuteResponse XML format.
If you set asReference of the Output parameter to true as follows, return the URL of the result
data 3 temporarily stored on the server, otherwise return it in RawData format (XML). Non-
XML formats can not be contained within the ExecuteResponse XML.

If you set StoreExecuteResponse of ResponseDocument to true, it returns the current execution


status and ID of the current process. You can use this value to get the status and output of
the process.

3
You can set the Resource release time in the GeoServer WPS Settings page.

19
Spatial Extension for GeoServer WPS 1.0

1.5. Mime Type


The Mime Type for each Complex parameter supported by GeoServer WPS is as follows. Mime
Type can be extended by implementing GeoServer Process Parameter IO.

Category Source Format Mime type


Geometry Geometry GML2.1 text/xml; subtype=gml/2.1.2

application/gml-2.1.2

GML3.1 text/xml; subtype=gml/3.1.1

application/gml-3.1.1

GeoJSON application/json
Feature Features GML2.1 text/xml; subtype=wfs-collection/1.0
WKT application/wkt
Collection WFS application/wfs-collection/1.0

GML3.1 text/xml; subtype=wfs-collection/1.1

application/wfs-collection/1.1

text/xml; subtype=gml/3.1.1

GeoJSON application/json
Grid WCS GeoTiff image/tiff
Shapefile application/zip
Coverage Ascii application/arcgrid
SLD User XML text/xml; subtype=sld/1.0.0

text/xml; subtype=sld/1.1.0
Filter User XML text/xml; subtype=filter/1.0

text/xml; subtype=filter/1.1

text/plain; subtype=cql
XML User XML text/xml
Literal User - -

20
Spatial Extension for GeoServer WPS 1.0

2 Installation

2.1. GeoServer 와 WPS Extension

GeoServer can be installed in several ways.

In this case, you can use GeoServer in the most commonly used Apache Tomcat environment.

Describes the installation process. For other procedures, please refer to the GeoServer Online manual.

Spatial Extension for GeoServer has been developed for GeoServer 2.5.x, 2.7.x, and 2.8.x
versions and has been tested to GeoServer versions 2.5.x through 2.9.x.

The following describes the installation process based on GeoServer version 2.8.5.
2.1.1. Java and Tomcat
GeoServer 2.8.5 supports the Java 7 version. The installation process for Java is skipped.

Java GeoServer Remarks


Java 5 GeoServer 2.2.x and earlier
Java 6 GeoServer 2.3.x ~ 2.5.x Compatible with Java 7
Java 7 GeoServer 2.6.x ~ 2.8.x LTS version: 2.8.x

21
Spatial Extension for GeoServer WPS 1.0

Java 8 GeoServer 2.9.x and above LTS version: 2.9.x

Tomcat requires version 7 or later. Detailed installation steps are skipped.

2.1.2. GeoServer and WPS Extension


To install GeoServer running on Tomcat, simply download the Web Archive version (* .war) and
copy it to the Tomcat webapps folder.

To download the GeoServer installation file, first connect to SourceForge4. Download


GeoServer and WPS Extension from the following URL.
◼ GeoServer

✓ https://sourceforge.net/projects/geoserver/files/GeoServer/2.8.5/geoserver-

2.8.5-war.zip

After unzipping the downloaded geoserver-2.8.5-war.zip file, copy the geoserver.war file to
the webapps folder in the Tomcat installation folder. After a while GeoServer will be
installed.
◼ WPS Extension

✓ https://sourceforge.net/projects/geoserver/files/GeoServer/2.8.5/extensions/ge

oserver-2.8.5-wps-plugin.zip

After unzipping the downloaded geoserver-2.8.5-wps-plugin.zip file, copy all included jar
files into the webapps / geoserver / WEB-INF / lib folder.

Now restart the Tomcat service and go to the GeoServer admin page. You can see that the
WPS Extension is normally installed as shown below.

4 https://sourceforge.net/projects/geoserver

22
Spatial Extension for GeoServer WPS 1.0

2.2. Spatial Extension for GeoServer WPS


When GeoServer WPS Extension is installed, Geometry, Vector, and Raster basic WPS processes
are provided. After installing Spatial Extension for GeoServer WPS, about 100 analysis
processes are added.

First, connect to SourceForge5. Spatial Extension for GeoServer WPS

Download the installation file.


◼ Spatial Extension for GeoServer WPS

✓ https://sourceforge.net/projects/mango-

spatialstatistics/files/GeoServer ✓ gt-process-spatialstatistics-2.8.5.jar

✓ gs-wps-spatialstatistics-2.8.5.jar

Copy the two downloaded jar files into the webapps / geoserver / WEB-INF / lib folder.

Now restart the Tomcat service to complete the installation.

5
https://sourceforge.net/projects/mango-spatialstatistics

23
Spatial Extension for GeoServer WPS 1.0

2.3. Server Configuration

Configuring the GeoServer

Environment in the Operating

Environment

2.3.1. GeoServer Data Directory


When you first install GeoServer, GeoServer Data Directory defaults to the webapps \
geoserver \ data folder. However, in an operating environment, it is generally desirable to
configure it on a different drive or folder for future scalability and maintenance.

In the GeoServer Administrator page, click the Server Status page to view the GeoServer Data
Directory

You can see your location as follows:

To move the GeoServer Data Directory, shut down the Tomcat service, move the webapps \
geoserver \ data folder, modify the web.xml file in the webapps \ geoserver \ WEB-INF \
folder, and restart the Tomcat service.

<context-param>

<param-name>GEOSERVER_DATA_DIR</param-name>

<param-value>C:\workspace\geoserver\data</param-value>

</context-param>

2.3.2. Global Setting


In environments where the developed web application is operating normally, you can change
the GeoServer log policy to improve performance and hardware maintenance efficiency.

24
Spatial Extension for GeoServer WPS 1.0

When you install GeoServer for the first time, it follows the [DFAULT_LOGGING.properties] log
policy and leaves a number of logs in addition to the error, including general and warning
information. By default, the log file is stored in the logs folder within the GeoServer Data
Directory, which can also be changed.
To leave a smaller error in the operating environment,

Select [RODUCTION_LOGGING.properties] and click the button at the bottom of the page to
change the policy.

2.3.3. WFS Shape-zip Encoding 문제


In GeoServer's WFS service, the Shapefile requesting the Shapefile as a compressed file
(outputFormat = application / zip) is broken.
Add the following entry in the web.xml file in the webapps \ geoserver \ WEB-INF \ folder
You can restart GeoServer.

25
Spatial Extension for GeoServer WPS 1.0

<context-param>

<param-name>GS-SHAPEFILE-CHARSET</param-name>

<param-value>x-windows-949</param-value>

</context-param>

2.3.4. Custom Projection


GeoServer can modify the default coordinate system or add a new coordinate system.
If you want to override existing coordinate system such as TOWGS84 parameter addition,
create epsg_overrides.properties file in user_projections folder in GeoServer Data Directory and
add coordinate system as follows.

5174=PROJCS["Korean 1985 / Modified Central Belt", GEOGCS["Korean 1985", DATUM["Korean Datum 1985",

SPHEROID["Bessel 1841", 6377397.155, 299.1528128, AUTHORITY["EPSG","7004"]], TOWGS84[-

115.80,474.99,674.11,1.16,-2.31,-1.63,6.43], AUTHORITY["EPSG","6162"]], PRIMEM["Greenwich", 0.0,

AUTHORITY["EPSG","8901"]], UNIT["degree", 0.017453292519943295], AXIS["Geodetic longitude", EAST], AXIS["Geodetic

latitude", NORTH], AUTHORITY["EPSG","4162"]], PROJECTION["Transverse_Mercator", AUTHORITY["EPSG","9807"]],

PARAMETER["central_meridian", 127.00289027777775], PARAMETER["latitude_of_origin", 38.0],

PARAMETER["scale_factor", 1.0], PARAMETER["false_easting", 200000.0], PARAMETER["false_northing", 500000.0],

UNIT["m", 1.0], AXIS["Easting", EAST], AXIS["Northing", NORTH], AUTHORITY["EPSG","5174"]]

If you add a new coordinate system that is not already existing, you can add the coordinate
system to the epsg.properties file in the above format, and the EPSG code must be a unique
numeric value.

2.3.5. WPS Process Output Encoding 문제


GeoJSON (application / json) format output during vector data output. When developing
JavaScript based applications such as OpenLayers, analysis of WFS or WPS often uses GeoJSON
format as vector layer.
The WFS request uses the default encoding UTF-8 of GeoJSON, but when requesting vector
data processed by WPS with GeoJSON, it follows the file encoding defaults set in the JVM.
Therefore, when processing in ajax etc., Hangul is broken. In this case, you can prevent crash
by setting the following in JVM setting as follows.

-Dfile.encoding=UTF-8

26
Spatial Extension for GeoServer WPS 1.0

For more environment configurations required for the JVM and Tomcat operating
environments, see:
 http://docs.geoserver.org/stable/en/user/production/index.html

 http://geoserver.geo-solutions.it/edu/en/adv_gsconfig/gsproduction.html
27
Spatial Extension for GeoServer WPS 1.0

3 Quick Start
After running the web browser, go to the GeoServer admin page URL.

3.1. Overview
After logging in to GeoServer, look to the right of the start page to see a list of the OGC Web
Services you are currently servicing. If WPS: 1.0.0 is displayed in this list, GeoServer's WPS
Extension has been properly installed.

If you click WPS: 1.0.06 item, you can see the GetCapabilities document of WPS as follows.

6
http://127.0.0.1:8080/geoserver/ows?service=wps&version=1.0.0&request=GetCapabilities

28
Spatial Extension for GeoServer WPS 1.0

3.2. WPS Page


On the menu page on the left, click the [WPS] link to go to the Web Processing Service page
as follows: Here you can set the environment, such as whether to activate the WPS service,
service metadata, and execution settings.

Scroll down to see the next Run Settings tab. The Connection Effective Time defaults to 120
seconds, which is the time the connection ends after the process runs. If the processing time
of the WPS process is long, you can increase this time.

In Resource Settings, the Resource Valid Time defaults to 300 seconds, which is the number of
WPS requests processed

The time to keep processing results on the server if you set the option to leave the data on
the server (when requesting with as Reference set to True).

29
Spatial Extension for GeoServer WPS 1.0

More information can be found in the GeoServer manual [WPS Service page 7].

3.3. WPS Request Builder


This is an example of utilizing the WPS Request Builder. You can set the metadata
(DescribeProcess) and parameters (Data Input, Process Output) of the processes provided by
GeoServer through WPS Request Builder, or execute it directly or write various WPS request
statements. First, click the [Demo] page link on the left menu page to go to the GeoServer
demo page as follows.

On the WPS Request Builder page, select a process from the Process Selection combo
box.

You can check the parameter information of the selected process as follows.

7
http://docs.geoserver.org/stable/en/user/extensions/wps/administration.html

30
Spatial Extension for GeoServer WPS 1.0

After inputting each input and output parameter, you can see the WPS request statement composed by
XML. This generated request statement can be executed by GeoServer in HTTP Post way and utilize the
result data.

If you press the button after parameter setting, you can check the processing result as
follows.

There is. The following example shows Union Overaly analysis of two polygon layers
and output to GeoJSON.31
Spatial Extension for GeoServer WPS 1.0
32
Spatial Extension for GeoServer WPS 1.0

3.4. Performance Tips


WPS can utilize remote vector or raster data as input parameter by using WFS and WCS
service. Here are some tips for improving performance when using the WPS process:

3.4.1. WFS
Web Feature Service supports DBMS SQL query statements using OGC Filter Encoding
standard.

◼ Use all features of vector data

The following example queries WFS when the input parameter of WPS is vector data

This is an example of querying the entire data.

SELECT * FROM sgg


<wps:Input>

<ows:Identifier>overlayFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.1.0" outputFormat="GML3"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>
◼ Using specific fields and filters in vector data
</wps:Input>
The following example queries WFS when the input parameter of WPS is vector data
This is an example of query using a specific field (gid, geom, pop_den field) and a spatial filter
(BBOX Filter). In other words, you can increase the processing speed by filtering only the data
for the analysis area in the request statement that will be used for the input parameter of
WPS.

SELECT gid, geom, pop_den

FROM sgg

WHERE geom && ST_MakeEnvelope(14147434, 4509613, 14148345, 4524017, 3857)

33
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.1.0" outputFormat="GML3"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg">

<wfs:PropertyName>gid</wfs:PropertyName>

<wfs:PropertyName>geom</wfs:PropertyName>

<wfs:PropertyName>pop_den</wfs:PropertyName>

<ogc:Filter>

<ogc:BBOX>

<ogc:PropertyName>geom</ogc:PropertyName>

<gml:Envelope srsName="http://www.opengis.net/gml/srs/epsg.xml#3857">

<gml:lowerCorner>14147434 4509613</gml:lowerCorner>

<gml:upperCorner>14148345 4524017</gml:upperCorner>

</gml:Envelope>

</ogc:BBOX>

</ogc:Filter>

</wfs:Query>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

3.4.2. WCS
The Web Coverage Service provides subset, resample, and reproject functions for raster
requests.

◼ Raster specific range only Subset


The following is an example

of using Subset

(BoundingBox) only for a

specific area when the input


parameter of WPS is raster

data.

<wps:Input>

<ows:Identifier>data</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:dem30</ows:Identifier>

<wcs:DomainSubset>

34
Spatial Extension for GeoServer WPS 1.0

<gml:BoundingBox crs="urn:ogc:def:crs:EPSG::5181">

<ows:LowerCorner>179171.39881047895 436569.3290600816</ows:LowerCorner>

<ows:UpperCorner>216221.0981287582 466869.08315843146</ows:UpperCorner>

</gml:BoundingBox>

</wcs:DomainSubset>

<wcs:Output store=“false" format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

◼ Use specific ranges, resamples, coordinate transformations in raster

Next, if the input parameter of the WPS is raster data,


(BoundingBox), or Resample (GridOffsets) and Reproject (GridBaseCRS). In other words, even if
the original data has different coordinate system or cell size, it can be converted to fit the
parameters of the WPS process.

<wps:Input>

<ows:Identifier>data</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:dem30</ows:Identifier>

<wcs:DomainSubset>

<gml:BoundingBox crs="urn:ogc:def:crs:EPSG::5181">

<ows:LowerCorner>179171.39881047895 436569.3290600816</ows:LowerCorner>

<ows:UpperCorner>216221.0981287582 466869.08315843146</ows:UpperCorner>

</gml:BoundingBox>

</wcs:DomainSubset>

<wcs:Output store=“false" format="image/tiff">

<wcs:GridCRS>

<wcs:GridBaseCRS>urn:ogc:def:crs:EPSG::3857</wcs:GridBaseCRS>

<wcs:GridType>urn:ogc:def:method:WCS:1.1:2dSimpleGrid</wcs:GridType>

<wcs:GridOffsets>50.0 -50.0</wcs:GridOffsets>

<wcs:GridCS>urn:ogc:def:cs:OGC:0.0:Grid2dSquareCS</wcs:GridCS>
</wcs:GridCRS>

</Output>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

35
Spatial Extension for GeoServer WPS 1.0

</wps:Input>
36
Spatial Extension for GeoServer WPS 1.0

4 WPS Process Reference

4.1. Process
Here is a list of processes that WPS offers as of October 2017:

Main Category Middle class Small classification Process


Fishnet Grids by Count
Fishnet Grids by Size
Hexagonal Grids
Triangular Grids
Spatial Unit Creation Circular Grids
Thiessen Polygon
Delaunay Triangulation polygon
Random Points
Random Points per Features
Calculate XY Coordinate
Calculate Area
Calculate Length
Calculation Calculate Field
Calculate Count
Sum Polygon Areas
Vector
Extract Values to Points
Analysis Select Features
Clip with Geometry
Extract
Clip with Features
Merge Features
Union
Intersect
Symmetrical Difference
Overlay
Difference
Identity
Update
Buffer Features using Expression
Single Sided Buffer
Proximity Multiple Ring Buffer
Wedge Buffer
Near

37
Spatial Extension for GeoServer WPS 1.0

Nearest Neighbor Count


Polar Grids from Geometry
Polar Grids from Features
Point Statistics
Aggregate Polygons
Collect Events
Spatial Join
Attribute Join
Aggregation Buffer Point Statistics
Sum Line Lengths
Hexagonal Binning
Rectangular Binning
Circular Binning
Spatial Clump Map
Dissolve
Remove Polygon Holes
Remove Polygon Part
Generalization
Simplify
Densify
Eliminate
Reverse Line Direction
Offset Features
Snap Points To Lines
Editing
Extend Line
Trim Line
Delete Duplicated Geometries
Feature to Point
Singlepart to Multipart
Multipart to Singlepart
Feature Envelope to Polygon
Points to Line
Feature Tools Ring Maps
Wind Rose Maps
Hub Lines by ID
Hub Lines by Nearest Distance
Feature To Line
Feature To Polygon
38
Spatial Extension for GeoServer WPS 1.0

Feature Vertices To Points


Repair Geometry
Create Points along Line
Split Line At Point
Split Line At Vertices
Split Line By Distance Expression
Intersection Points from Lines
Feature To Octagonal Envelope
Feature To Minimum Rectangle
Feature To ConvexHull
Feature To Minimum Bounding Circle
Create Flow Map from Line Features
Reproject
Basic Statistics
Descriptive Raster Description
Raster Histogram
Features To Coverage
Points To Coverage
Geometry To Coverage
Conversion GridCoverage To Point
GridCoverage to Grid Polygon
GridCoverage To Polygon
GridCoverage To Image
Classification Reclass
Raster Extract by Attributes
Conditional Expression
Analysis
Extract by Geometry
Extract Extract by Extent
Extract by Circle
Extract by Features
Raster Conditional Expression
Kernel Density
Density Point Density
Line Density
Distance Euclidean Distance
Math
Math
NDVI
39
Spatial Extension for GeoServer WPS 1.0

Inverse Distance Weighted


Interpolation
Thin Plate Spline
Zonal Zonal Statistics
Resample
Projection Redefine Projection
Reproject
Raster Profile
Radial Line Of Sight
Linear Line Of Sight
Find Highest/Lowest Points
Slope
Surface Analysis Aspect
Hillshade
Topographic Position Index
Terrain Ruggedness Index
Curvature
Roughness
Flip
Mirror
Utilities Rescale
Rotate
Shift
Basic Statistics
Pearson Correlation Coefficient
Descriptive
Standardized Score of Dissimilarity
Focal Location Quotients
Mean Center
Median Center
Central Feature
Spatial Distributions
Standard Distance
Statistics Standard Deviational Mean
Linear Directional Mean
Nearest Neighbor Statistic
K-Nearest Neighbor Map
Point Pattern Analysis
Quadrat Method
K-Means Clustering
Global Spatial Auto-Correlation Join Count Statistic
40
Spatial Extension for GeoServer WPS 1.0

Moran’s I
Geary’s c
Getis-Ord’s General G
Lee’s S
Lee’s L
Local Moran’s I
Local Geary’s c
Local Spatial Auto-Correlation Local G(Gi*)
Lee’s Si
Lee’s Li
Global Spatial Modeling Ordinary Least Squares (OLS)

Note: It will continue to update.

41
Spatial Extension for GeoServer WPS 1.0

4.2. Vector Analysis


A group of processes related to vector analysis and processing.

4.2.1. Spatial Unit Creation


It consists of processes that generate various spatial analysis units such as grid, hexagon,
triangle, circle, and Thyssen Polygon.

4.2.1.1. Fishnet Grids by Count


Create a Fishnet grid by defining extents, columns, and row counts.

◼ Syntax

FishnetCount (ReferencedEnvelope extent, SimpleFeatureCollection boundsSource,

Boolean boundaryInside, Integer columns, Integer rows): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


extent The extent of the grids. Complex ✓

boundsSource Bounds Source Features. Complex -


boundaryInside Bounds Inside. Literal -
columns Number of columns. Literal ✓

rows Number of Rows. Literal ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If you set the boundsSource parameter, only the boundsSource and the intersecting grid

- If the boundsSource parameter is set and the boundaryInside parameter is True


Creates only the grid contained within boundsSource.
42
Spatial Extension for GeoServer WPS 1.0

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:FishnetCount</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>extent</ows:Identifier>

<wps:Data>

<wps:BoundingBoxData crs="EPSG:3857" dimensions="2">

<ows:LowerCorner>1.4111357E7 4498975.0</ows:LowerCorner>

<ows:UpperCorner>1.4158036E7 4537337.0</ows:UpperCorner>

</wps:BoundingBoxData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>boundsSource</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sid"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>columns</ows:Identifier>

<wps:Data>
<wps:LiteralData>25</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>rows</ows:Identifier>

<wps:Data>

<wps:LiteralData>25</wps:LiteralData>

</wps:Data>

</wps:Input>

43
Spatial Extension for GeoServer WPS 1.0

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

An example of generating 25 Fishnet grids horizontally / vertically based on a trial boundary.


44
Spatial Extension for GeoServer WPS 1.0

4.2.1.2. Fishnet Grids by Size


Create a Fishnet grid by defining extents and width and height dimensions.
◼ Syntax

FishnetSize (ReferencedEnvelope extent, SimpleFeatureCollection boundsSource, Boolean

boundaryInside, Double width, Double height): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


extent The extent of the grids. Complex ✓
boundsSource Bounds Source Features. Complex -
boundaryInside Bounds Inside. Literal -
width Width of Each Cell. Literal ✓
height Height of Each Cell. Literal ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If you set the boundsSource parameter, create only the boundsSource and the

intersecting grid.

- Set the boundsSource parameter, and if the boundary-in-side parameter is

True, only the grid contained within the boundsSource is created.

◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

45
Spatial Extension for GeoServer WPS 1.0

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:FishnetSize</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>extent</ows:Identifier>

<wps:Data>

<wps:BoundingBoxData crs="EPSG:3857" dimensions="2">

<ows:LowerCorner>1.4111357E7 4498975.0</ows:LowerCorner>

<ows:UpperCorner>1.4158036E7 4537337.0</ows:UpperCorner>

</wps:BoundingBoxData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>boundsSource</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sid"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>width</ows:Identifier>

<wps:Data>

<wps:LiteralData>2500</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>height</ows:Identifier>

<wps:Data>
<wps:LiteralData>2500</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

46
Spatial Extension for GeoServer WPS 1.0

◼ Response

An example of creating a Fishnet grid of 2,500 meters horizontally and vertically based on a
trial boundary.
47
Spatial Extension for GeoServer WPS 1.0

4.2.1.3. Hexagonal Grids


Create a hexagonal grid by setting the extent and size.
◼ Syntax

Hexagon (ReferencedEnvelope extent, SimpleFeatureCollection boundsSource, Double

sideLen, HexagonOrientation orientation): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


extent The extent of the grids. Complex ✓
boundsSource Bounds Source Features. Complex -
sideLen Side length, radius. Literal ✓
orientation Hexagon Orientation: FLAT (default), ANGLED. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If you set the boundsSource parameter, it creates only the hexagon that is

intersected with the boundsSource.

- The sideLen parameter is the distance from the center of the hexagon to the edge.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:Hexagon</ows:Identifier>

48
Spatial Extension for GeoServer WPS 1.0

<wps:DataInputs>

<wps:Input>

<ows:Identifier>extent</ows:Identifier>

<wps:Data>

<wps:BoundingBoxData crs="EPSG:3857" dimensions="2">

<ows:LowerCorner>1.4111357E7 4498975.0</ows:LowerCorner>

<ows:UpperCorner>1.4158036E7 4537337.0</ows:UpperCorner>

</wps:BoundingBoxData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>boundsSource</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sid"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>sideLen</ows:Identifier>

<wps:Data>

<wps:LiteralData>1500</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>
◼ Response

A hexagonal grid of 1500 m in size is created based on the boundary of the trial,

This is an example of creating a thematic figure after counting numbers.

49
Spatial Extension for GeoServer WPS 1.0
50
Spatial Extension for GeoServer WPS 1.0

4.2.1.4. Triangular Grids

Create a triangular grid by setting the extent and size.


◼ Syntax

TriangularGrid (ReferencedEnvelope extent, SimpleFeatureCollection boundsSource,

Double size, HexagonOrientation orientation): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


extent The extent of the grids. Complex ✓
boundsSource Bounds Source Features. Complex -
size Grid Size. Literal ✓
orientation Orientation: FLAT (default), ANGLED. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If you set the boundsSource parameter, create only the triangle that intersects

boundsSource.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:TriangularGrid</ows:Identifier>

<wps:DataInputs>

<wps:Input>

51
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>extent</ows:Identifier>

<wps:Data>

<wps:BoundingBoxData crs="EPSG:3857" dimensions="2">

<ows:LowerCorner>1.4111357E7 4498975.0</ows:LowerCorner>

<ows:UpperCorner>1.4158036E7 4537337.0</ows:UpperCorner>

</wps:BoundingBoxData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>boundsSource</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sid"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>size</ows:Identifier>

<wps:Data>

<wps:LiteralData>2500</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
An example of creating a 2500-meter triangular grid based on a trial boundary.

52
Spatial Extension for GeoServer WPS 1.0
53
Spatial Extension for GeoServer WPS 1.0

4.2.1.5. Circular Grids


Create a circular grid by setting extents and radii.
◼ Syntax

CircularGrid (ReferencedEnvelope extent, SimpleFeatureCollection boundsSource, Double

radius, CircularType circularType): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


extent The extent of the grids. Complex ✓
boundsSource Bounds Source Features. Complex -
radius Radius of the circle. Literal ✓
circularType Circular Type: Grid (default), Hex. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If boundsSource is set, boundsSource and Intersect are created.


- If the circularType is a Grid, it follows a grid-like circle; for Hex, it follows the Hexagon
creation rule.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:CircularGrid</ows:Identifier>

54
Spatial Extension for GeoServer WPS 1.0

<wps:DataInputs>

<wps:Input>

<ows:Identifier>extent</ows:Identifier>

<wps:Data>

<wps:BoundingBoxData crs="EPSG:3857" dimensions="2">

<ows:LowerCorner>1.4111357E7 4498975.0</ows:LowerCorner>

<ows:UpperCorner>1.4158036E7 4537337.0</ows:UpperCorner>

</wps:BoundingBoxData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>boundsSource</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sid"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>radius</ows:Identifier>

<wps:Data>

<wps:LiteralData>2500</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>circularType</ows:Identifier>

<wps:Data>

<wps:LiteralData>Hex</wps:LiteralData>

</wps:Data>
</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

55
Spatial Extension for GeoServer WPS 1.0

An example of a Circular grid with a radius of 2500 meters based on the starting boundary is
created with the Hexagon, Grid option.

56
Spatial Extension for GeoServer WPS 1.0

4.2.1.6. Thiessen Polygon


Create a Thiessen Polygon using the input feature layer.
◼ Syntax

ThiessenPolygon (SimpleFeatureCollection inputFeatures, ThiessenAttributeMode

attributes, Geometry clipArea): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The point input features from which thiessen
inputFeatures Complex ✓
polygons will be generated.
Attribute mode: ONLY_FID (default), ALL (retain input
attributes Literal -
feature’s attribute).
clipArea The clip area polygon geometry. Complex -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures can be point, line, or polygon, but it extracts the center of gravity

and creates a Thiessen Polygon.

- If the Attributes parameter is ALL, all attribute values of inputFeatures are retained.

- Given a clipArea parameter, it returns the polygon clipped to the area.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"
xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

57
Spatial Extension for GeoServer WPS 1.0

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:ThiessenPolygon</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:stores"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>attributes</ows:Identifier>

<wps:Data>

<wps:LiteralData>ALL</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is an example of Thiessen Polygon of current screen range based on train / subway
stations in Japan.
58
Spatial Extension for GeoServer WPS 1.0
59
Spatial Extension for GeoServer WPS 1.0

4.2.1.7. Delaunay Triangulation Polygons


Create a Delaunay Triangulation Polygon using the input point feature layer.
◼ Syntax

DelaunayTriangulation (SimpleFeatureCollection inputFeatures, Geometry clipArea):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The point input features from which delaunay
inputFeatures Complex ✓
triangulations will be generated.
clipArea Clip area polygon. Complex -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- Given a clipArea parameter, it returns the polygon clipped to the area.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:DelaunayTriangulation</ows:Identifier>

<wps:DataInputs>
<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

60
Spatial Extension for GeoServer WPS 1.0

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

An example of creating a Delaunay Triangulation Polygon within a specific

area, such as a trial boundary, using points.


61
Spatial Extension for GeoServer WPS 1.0

4.2.1.8. Random Points


Create random points by the number of extents or polygon feature boundaries.

◼ Syntax

RandomPoints (ReferenceEnvelope extent, SimpleFeatureCollection polygonFeatures,

Integer pointCount): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


extent Random points will be generated inside the extent. Complex -
The features which contains the features into which
polygonFeatures Complex -
the random points will be placed.
pointCount The number of points to be randomly generated. Literal ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- BoundingBox or polygon layer can be used as reference layer.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RandomPoints</ows:Identifier>

<wps:DataInputs>
<wps:Input>

62
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>polygonFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sid"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>pointCount</ows:Identifier>

<wps:Data>

<wps:LiteralData>1000</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

An example of generating 1000 random points based on the trial boundary.


63
Spatial Extension for GeoServer WPS 1.0

4.2.1.9. Random Points per Features


Create a random point for each feature using the polygon feature layer and Expression
formula.

◼ Syntax

RandomPointsPerFeatures (SimpleFeatureCollection polygonFeatures, Expression

expression): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The features which contains the features into which
polygonFeatures Complex ✓
the random points will be placed.
expression Field or Expression representing Number of Points. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- Expression parameter can be a number, field, or formula (multiple space and attribute
field operations

The number of random points can be set for each feature of the polygon layer when the
formula is used.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RandomPointsPerFeatures</ows:Identifier>

64
Spatial Extension for GeoServer WPS 1.0

<wps:DataInputs>

<wps:Input>

<ows:Identifier>polygonFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>expression</ows:Identifier>

<wps:Data>

<wps:LiteralData>[pop_den] / 100</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is an example of random point generation using population density attribute information
by city.
65
Spatial Extension for GeoServer WPS 1.0

4.2.2. Calculation
It consists of processes that calculate the new value by using the property value of the
geometry or field.

4.2.2.1. Calculate XY Coordinate


X, and Y fields to calculate the coordinate values of the user-defined coordinate system for
each feature.

◼ Syntax

CalculateXYCoordinate (SimpleFeatureCollection inputFeatures, String xField, String yField,

Boolean inside, CoordinateReferenceSystem targetCRS): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputFeatures The input features to be calculated. Complex ✓
xField X coordinate field that will be calculated. Literal -
yField Y coordinate field that will be calculated. Literal -
inside Centroid(False, Default), Inside(True) Literal -
The target coordinate reference system to use for
targetCRS Literal -
reprojection. Ex)epsg:4326

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures can be point, line, or polygon.

- If inputFeatures is a polygon and inside is Ture, the center point must be

included in the polygon.


- Returns the coordinate value of the original data if targetCRS is Null, or the

coordinate converted value otherwise.

66
Spatial Extension for GeoServer WPS 1.0

◼ Request Examples

After loading GeoServer's foss: stores layer into WFS, add xcoord and ycoord fields

EPSG: 4326 (WGS84 latitude and longitude) This is the result of calculating the coordinates of
the coordinate system and returning it to GML3.

Since the inside value is True, if inputFeatures is Polygon, the center point is within Polygon

The adjusted X and Y values are returned.


<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:CalculateXYCoordinate</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.1.0" outputFormat="GML3"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:stores" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>xField</ows:Identifier>

<wps:Data>

<wps:LiteralData>xcoord</wps:LiteralData>

</wps:Data>
</wps:Input>

<wps:Input>

<ows:Identifier>yField</ows:Identifier>

<wps:Data>

<wps:LiteralData>ycoord</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>inside</ows:Identifier>

67
Spatial Extension for GeoServer WPS 1.0

<wps:Data>

<wps:LiteralData>True</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>targetCRS</ows:Identifier>

<wps:Data>

<wps:LiteralData>EPSG:4326</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.1">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Based on the center value of the polygon layer, xcoord and ycoord coordinate values are
EPSG: 4326 (WGS84 latitude and longitude)

An example of a coordinate value calculation.


68
Spatial Extension for GeoServer WPS 1.0

4.2.2.2. Calculate Area


Calculates the area and perimeter of the polygon feature layer.
◼ Syntax

CalculateArea (SimpleFeatureCollection inputFeatures, String areaField, String

perimeterField): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputFeatures The input polygon features to be calculated. Complex ✓
The area field that will be calculated.
areaField Literal -
geom_area is a default.
perimeterField The perimeter field that will be calculated. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures must be a polygon.

- The calculated values for area and perimeter follow the coordinate system of
inputFeatures.

◼ Request Examples

The result of loading the foss: randomsgg layer of WFS and calculating the area and perimeter
values and then returning them to GML.

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"
xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

69
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>statistics:CalculateArea</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.1.0" outputFormat="GML3"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:randomsgg" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>areaField</ows:Identifier>

<wps:Data>

<wps:LiteralData>area</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>perimeterField</ows:Identifier>

<wps:Data>

<wps:LiteralData>perimeter</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
This is the result of calculating the area value of the polygon in the ara field.

70
Spatial Extension for GeoServer WPS 1.0
71
Spatial Extension for GeoServer WPS 1.0

4.2.2.3. Calculate Length


Adds a field to the polygon or line feature layer to calculate the length (perimeter).
◼ Syntax

CalculateLength (SimpleFeatureCollection inputFeatures, String lengthField):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputFeatures The input line or polygon features to be calculated. Complex ✓
The length field that will be calculated.
lengthField Literal -
geom_len is a default.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The inputFeatures parameter must be a polygon or line feature type.

- The length (circumference) calculation value follows the coordinate system of


inputFeatures.
◼ Request Examples

This is the result of calling the foss: line layer of WFS and returning len (length of geometry)
value to GML after calculating.
<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"
xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:CalculateLength</ows:Identifier>

72
Spatial Extension for GeoServer WPS 1.0

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.1.0" outputFormat="GML3"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:line" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>lengthField</ows:Identifier>

<wps:Data>

<wps:LiteralData>len</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.1">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of calculating the length of the line in the len field.
73
Spatial Extension for GeoServer WPS 1.0

4.2.2.4. Calculate Field


Use the Expression formula you set to calculate new field values or change the Geometry Type.

◼ Syntax

CalculateField (SimpleFeatureCollection inputFeatures, Expression expression, String

fieldName): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The Input features to be calculated. Complex ✓
The simple calculation expression used to create a

expression value that will populate the selected rows. Literal -

ex) [population] / ([geom_area] / 1000000)


The field that will be updated with the new
fieldName Literal -
calculation. Evaluated is a default.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If the value returned by the expression is a geometry, fieldName is ignored

and the geometry value of the returned data is applied.

◼ Request Examples

It is the result of populating the pop_den field and then returning it to GML by populating the
foss: randomsgg layer of the WFS and populating population density using pop2008
(population) and area ([geom]) of the geometry.

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"
74
Spatial Extension for GeoServer WPS 1.0

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:CalculateField</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:randomsgg" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>expression</ows:Identifier>

<wps:Data>

<wps:LiteralData>round([pop2008] / (area( [geom] ) / 1000000))</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>fieldName</ows:Identifier>

<wps:Data>

<wps:LiteralData>pop_den</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.1">

<ows:Identifier>result</ows:Identifier>
</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The following is an example of processing mincircle ([geom]). In this way, it is possible to


process not only attribute value calculation using field operation but also geometry
transformation.

75
Spatial Extension for GeoServer WPS 1.0

◼ Advanced Expression

Examples of various use of Expression parameters, [geom] is PostGIS, Shapefile, etc.

Geometry field name.

division Expression Return


General
value formula round([pop2008] / (area( [geom] ) / 1000000)) Numeric
area area( [geom] ) Numeric
Circumference / length geomLength( [geom] ) Numeric
X coordinate of center point getX( centroid( [geom])) Numeric
Polygon to line boundary( [geom] ) Geometry
buffer bufferWithSegments( [geom], 250, 16) Polygon
Center of gravity 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

영역의 최소 반경 영역

76
Spatial Extension for GeoServer WPS 1.0

폴리곤, 라인, 멀티포인트를 포함하는 octagonalenvelope( [geom] ) Polygon

최소 8 각형 영역
x offset, y offset 만큼 이동 offset( [geom], 4000, 3000) Geometry
77
Spatial Extension for GeoServer WPS 1.0

4.2.2.5. Calculate Count


Calculate the number of features using feature layers and filters.
◼ Syntax

CountFeatures (SimpleFeatureCollection inputFeatures, Filter filter): Integer

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features to be calculated. Complex ✓
filter The filter to apply Complex -

◼ Process Outputs

Identifier Description Type Required


result The number of features. Literal ✓

◼ Constraints

- Calculate and return the number of features using layers and filters.

◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:CountFeatures</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>
<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

78
Spatial Extension for GeoServer WPS 1.0

<wfs:Query typeName="foss:emd" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>filter</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="text/plain; subtype=cql"><![CDATA[sgg_nm =

'강남구']]></wps:ComplexData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Returns the number of features as an Integer value.


79
Spatial Extension for GeoServer WPS 1.0

4.2.2.6. Sum Polygon Areas


Polygon Feature Calculates the area sum of all polygon features using the layers and filters.
◼ Syntax

SumAreas (SimpleFeatureCollection inputFeatures, Filter filter): Double

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Polygon features. Complex ✓
filter The filter to apply Complex -

◼ Process Outputs

Identifier Description Type Required


result The area of features. Literal ✓

◼ Constraints

- Returns the geometry area sum of the feature using the polygon layer and filter.
◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:SumAreas</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>
<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

80
Spatial Extension for GeoServer WPS 1.0

<wfs:Query typeName="foss:emd" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>filter</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="text/plain; subtype=cql"><![CDATA[sgg_nm =

'강남구']]></wps:ComplexData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Returns the area of the polygon feature as a Double value.


81
Spatial Extension for GeoServer WPS 1.0

4.2.2.7. Extract Values to Points


The point feature and raster layer are nested to calculate the cell value of the raster in the
property field of the point.
◼ Syntax

ExtractValuesToPoints (SimpleFeatureCollection pointFeatures, String valueField,

GridCoverage2D valueCoverage, ExtractionType valueType): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


pointFeatures The input point features defining the locations. Complex ✓
valueField The value field to be calculated. Literal -
valueCoverage The gridcoverage whose values will be extracted. Complex ✓
Extraction type: Default, SlopeAsDegree,
valueType Literal -
SlopeAsPercentrise, Aspect.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If the valueField is null, use the field name to be evaluated.


- If the valueType parameter is null, it returns the original cell value of GridCoverage.
- If valueCoverage is DEM, valueType is SlopeAsDegree, SlopeAsPercentrise,

You can use the Aspect option.

◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"
82
Spatial Extension for GeoServer WPS 1.0

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:ExtractValuesToPoints</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>pointFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:wardoffice" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>valueField</ows:Identifier>

<wps:Data>

<wps:LiteralData>evaluated</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>valueCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<gml:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#5181">

<ows:LowerCorner>179171.39881047895 436569.3290600816</ows:LowerCorner>

<ows:UpperCorner>216221.0981287582 466869.08315843146</ows:UpperCorner>
</gml:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff" />

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

83
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of calculating the elevation value of DEM in the point data of the city / county
office.
84
Spatial Extension for GeoServer WPS 1.0

4.2.3. Extract
It consists of processes that use filters or geometry to select or cut features.
4.2.3.1. Select Features (Query & Retype)

In the feature layer, select a feature by setting a space or property filter and field list.
◼ Syntax

SelectFeatures (SimpleFeatureCollection inputFeatures, Filter filter, String attributes):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features to be queried. Complex ✓
filter The filter to apply. Complex -
attributes The comma separated fields list to include in output. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- You can use filters to select only those features that meet certain criteria.
- You can select some attribute information or change the field order by setting a

comma-separated field.

◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"
85
Spatial Extension for GeoServer WPS 1.0

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:SelectFeatures</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:emd" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>filter</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="text/plain; subtype=cql"><![CDATA[sgg_nm =

'강남구']]></wps:ComplexData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>attributes</ows:Identifier>

<wps:Data>

<wps:LiteralData>gid, geom, sgg_nm, emd_cd, emd_nm</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>
</wps:Execute>

◼ Response

Select only Gangnam-gu from the boundary data of the eup and myeon-dong and only geom,
sgg_nm, emd_cd, emd_nm fields

The result is extracted.

86
Spatial Extension for GeoServer WPS 1.0
87
Spatial Extension for GeoServer WPS 1.0

4.2.3.2. Clip with Geometry

Set the polygon geometry to clip to cut the feature layer.


◼ Syntax

ClipWithGeometry (SimpleFeatureCollection inputFeatures, Geometry clipGeometry):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputFeatures The features to be clipped. Complex ✓
The polygon geometry used to clip the input
clipGeometry Complex ✓
features.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The clipGeometry must be Polygon or MultiPolygon.


◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:ClipWithGeometry</ows:Identifier>

<wps:DataInputs>
<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

88
Spatial Extension for GeoServer WPS 1.0

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:emd" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>clipGeometry</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="application/wkt"><![CDATA[POLYGON ((14123807 4505796,

14139276 4505796, 14139276 4524167.5, 14123807 4524167.5, 14123807

4505796))]]></wps:ComplexData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of clipping only a specific area (Geometry) from Euphyeon-dong boundary data.
89
Spatial Extension for GeoServer WPS 1.0

4.2.3.3. Clip with Features


Clip the feature layer by setting the polygon feature layer to clip.
◼ Syntax

ClipWithFeatures (SimpleFeatureCollection inputFeatures, SimpleFeatureCollection

clipFeatures): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The features to be clipped. Complex ✓
clipFeatures The features used to clip the input features. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- clipFeatures must be Polygon or MultiPolygon feature types.


◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:ClipWithFeatures</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>
<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

90
Spatial Extension for GeoServer WPS 1.0

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:emd" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>clipFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay02" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is an example of using a random polygon layer to clip a boundary polygon layer.
91
Spatial Extension for GeoServer WPS 1.0
92
Spatial Extension for GeoServer WPS 1.0

4.2.3.4. Merge Features

Merges multiple layers with the same feature type into one layer.
◼ Syntax

MergeFeatures (List<SimpleFeatureCollection> features): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


features Input feature collections to be merge. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The features parameter must be of the same feature type.

- The features parameter is a collection type, so you can use one or more

feature layers, see the request statement below.

- The schema of the output layer follows the first layer schema of the features parameter.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:MergeFeatures</ows:Identifier>

<wps:DataInputs>

<wps:Input>

93
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>features</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgga"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>features</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sggb"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of merging three polygon layers into one


layer.
94
Spatial Extension for GeoServer WPS 1.0
95
Spatial Extension for GeoServer WPS 1.0

4.2.4. Overlay
Union, Intersect, Symmetrical Difference, Difference, Identity, and Update.

4.2.4.1. Union
Perform Union Overlay analysis on two input feature layers. The output layer retains all the
property values of both features.

◼ Syntax

Union (SimpleFeatureCollection inputFeatures, SimpleFeatureCollection overlayFeatures):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features. Complex ✓
overlayFeatures Overlay features. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The input feature layer can be point, line, or polygon, and the feature type of the

output layer follows the inputFeatures layer.

- The output layer contains all of the attribute values of inputFeatures and overlayFeatures.
◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

96
Spatial Extension for GeoServer WPS 1.0

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:Union</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay01" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>overlayFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay02" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>
◼ Response

This is the result of Union Overlay analysis between two polygon layers. The two layer's
property values

All included.

97
Spatial Extension for GeoServer WPS 1.0
98
Spatial Extension for GeoServer WPS 1.0

4.2.4.2. Intersect
Perform Intersect Overlay analysis on two input feature layers. The output layer retains all the
property values of both features.
◼ Syntax

Intersect (SimpleFeatureCollection inputFeatures, SimpleFeatureCollection

overlayFeatures): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features. Complex ✓
overlayFeatures Overlay features. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The input feature layer can be point, line, or polygon, and the feature type of the

output layer follows the inputFeatures layer.

- The output layer contains all field values for inputFeatures and overlayFeatures.

◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:Intersect</ows:Identifier>

<wps:DataInputs>

99
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay01" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>overlayFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay02" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of Intersect Overlay analysis between two polygon layers. Contains all attribute
values for both layers.
100
Spatial Extension for GeoServer WPS 1.0
101
Spatial Extension for GeoServer WPS 1.0

4.2.4.3. Difference

Performs a Difference Overlay analysis on two polygon feature layers.

◼ Syntax

Difference (SimpleFeatureCollection inputFeatures, SimpleFeatureCollection

differenceFeatures): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features. Complex ✓
differenceFeatures Difference features. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The feature types and fields of the output layer follow the inputFeatures layer.

◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:Difference</ows:Identifier>

<wps:DataInputs>
<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

102
Spatial Extension for GeoServer WPS 1.0

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay01" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>differenceFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay02" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of performing Difference Overlay analysis between two polygon layers.
103
Spatial Extension for GeoServer WPS 1.0

4.2.4.4. Symmetrical Difference


Performs Symmetrical Difference Overlay analysis for two polygon feature layers. The output
layer retains all the property values of both features.
◼ Syntax

SymDifference (SimpleFeatureCollection inputFeatures, SimpleFeatureCollection

differenceFeatures): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features. Complex ✓
differenceFeatures Difference features. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The input layer must be a polygon feature type, and the feature type of

the output layer follows the inputFeatures layer.

- The output layer contains all of the attribute values of inputFeatures and
differenceFeatures.
◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:SymDifference</ows:Identifier>

<wps:DataInputs>

104
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay01" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>differenceFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay02" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of symmetrical difference overlay analysis between two polygon layers. Contains all
attribute values for both layers.
105
Spatial Extension for GeoServer WPS 1.0
106
Spatial Extension for GeoServer WPS 1.0

4.2.4.5. Identity

Performs an Identty Overlay analysis on two polygon feature layers.


◼ Syntax

Identity (SimpleFeatureCollection inputFeatures, SimpleFeatureCollection

identityFeatures): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features. Complex ✓
identityFeatures Identity features. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures, identityFeatures must be Polygon or MultiPolygon features

Type.
- The output layer contains all field values of inputFeatures, identityFeatures.
◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:Identity</ows:Identifier>

<wps:DataInputs>

<wps:Input>

107
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay01" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>identityFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay02" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of performing Identity Overlay analysis between two polygon layers.
108
Spatial Extension for GeoServer WPS 1.0
109
Spatial Extension for GeoServer WPS 1.0

4.2.4.6. Update

Perform an Update Overlay analysis on the two polygon feature layers.


◼ Syntax

Update (SimpleFeatureCollection inputFeatures, SimpleFeatureCollection updateFeatures):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features. Complex ✓
updateFeatures Update features. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures, identityFeatures must be Polygon or MultiPolygon features

Type.
- The output layer contains all of the field values of inputFeatures and updateFeatures.
◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:Update</ows:Identifier>

<wps:DataInputs>

<wps:Input>

110
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>updateFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay01" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of the Update Overlay analysis between two polygon layers. Input layer and Update

The nesting of layers is replaced by the features of the Update layer.


111
Spatial Extension for GeoServer WPS 1.0
112
Spatial Extension for GeoServer WPS 1.0

4.2.5. Proximity

Buffers and other processes related to distance calculation and analysis.


4.2.5.1. Buffer Features using Expression
Perform Buffer analysis using user defined Buffer distance, Buffer field or Buffer Expression
formula.

◼ Syntax

BufferFeatures (SimpleFeatureCollection inputFeatures, Expression distance, int

quadrantSegments): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The input features to be buffered. Complex ✓
The distance expression used to create distance.
distance Literal ✓
Ex) 1000 or [field] or [field] * 0.5 etc...
The number of line segments used to represent a
quadrantSegments Literal -
quadrant of a circle. Default is 8.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures can be point, line, or polygon.


- The distance expression can be a number or a function that returns a number.

8
See http://docs.geoserver.org/stable/en/user/filter/function_reference.html
113
Spatial Extension for GeoServer WPS 1.0

◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:BufferFeatures</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:randomsgg" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>distance</ows:Identifier>

<wps:Data>

<wps:LiteralData>[pop_den] / 2.0) * 0.5</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>
</wps:Execute>

◼ Response

Using the attribute value of the polygon layer, the buffer distance is expressed as Expression
([pop_den] / 2.0) * 0.5)

This is the result of performing the buffer representation.

114
Spatial Extension for GeoServer WPS 1.0
115
Spatial Extension for GeoServer WPS 1.0

4.2.5.2. Single Sided Buffer


Perform unidirectional Buffer analysis using user defined Buffer distance, Buffer field or Buffer
Expression formula.

◼ Syntax

SingleSidedBuffer (SimpleFeatureCollection inputFeatures, Expression distance, Integer

quadrantSegments): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The input features to be buffered. Complex ✓
The distance expression used to create distance.
distance Literal ✓
Ex) 1000 or [field] or [field] * 0.5 etc...
The number of line segments used to represent a
quadrantSegments Literal -
quadrant of a circle. Default is 8.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures must be a line type.


- The distance expression can be a number or a function that returns a number.
- If the value of the distance parameter is positive, it is left of the line heading direction. If it
is negative,

A buffer is created to the right of the progress direction.


9
See http://docs.geoserver.org/stable/en/user/filter/function_reference.html
116
Spatial Extension for GeoServer WPS 1.0

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:SingleSidedBuffer</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:line"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>distance</ows:Identifier>

<wps:Data>

<wps:LiteralData>250</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>
</wps:Execute>

◼ Response

If the buffer distance value is positive, the buffer is shifted in the direction of the left

Generated.

117
Spatial Extension for GeoServer WPS 1.0
118
Spatial Extension for GeoServer WPS 1.0

4.2.5.3. Multiple Ring Buffer

Perform buffer analysis based on comma-separated buffer distances.


◼ Syntax

MultipleRingBuffer (SimpleFeatureCollection inputFeatures, String distances, Boolean

outsideOnly, Boolean dissolve): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputFeatures The input features to be buffered. Complex ✓
The comma separated list of buffer distances.
distances Literal ✓
Ex) 250,500,750,1000
The area inside of the input polygon features will
outsideOnly Literal -
excluded from the resulting buffer. Default is True.
Determines if buffers will be dissolved to resemble
dissolve Literal -
rings around the input features. Default is False.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures can be point, line, or polygon.


- The unit of distance follows the unit of the inputFeatures coordinate system.
- If the value of the Dissolve parameter is True, the attribute value of inputFeatures is

ignored and the attribute value of inputFeatures is maintained if the distance value

is False.

◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

119
Spatial Extension for GeoServer WPS 1.0

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:MultipleRingBuffer</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:wardoffice"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>distances</ows:Identifier>

<wps:Data>

<wps:LiteralData>250,500,750,1000,1250,1500</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>outsideOnly</ows:Identifier>

<wps:Data>

<wps:LiteralData>True</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>
</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of processing buffer analysis at 250, 500, 750, 1000, 1250, and 1500 meters
intervals.

120
Spatial Extension for GeoServer WPS 1.0
121
Spatial Extension for GeoServer WPS 1.0

4.2.5.4. Wedge Buffer


Perform Wedge Buffer analysis using attributes such as point layer, azimuth, wedge angle, and
radius.
◼ Syntax

WedgeBuffer (SimpleFeatureCollection pointFeatures, Expression azimuth, Expression

wedgeAngle, Expression innerRadius, Expression outerRadius): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


pointFeatures The point featu es. Complex ✓

The azimuth (compass direction) expression.


azimuth Literal ✓
Ex) 45 or [field] or [field] * 0.5 etc...
The wedge angle expression.
wedgeAngle Literal ✓
Ex) 45 or [field] or [field] * 0.5 etc...
The inner radius expression. The default is 0.
innerRadius Literal -
Ex) 25 or [field] or [field] * 0.5 etc...
The outer radius expression.
outerRadius Literal ✓
Ex) 100 or [field] or [field] * 0.5 etc...

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- pointFeatures must be point types.

122
Spatial Extension for GeoServer WPS 1.0

- The azimuth, wedgeAngle, innerRadius, and outerRadius expressions can be any

number of 10 functions that return numbers or numbers.

- The innerRadius and outerRadius parameter values are compared and the higher

value is used as the outerRadius value, and one of them should be greater than 0.

- The values of each parameter are as follows.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:WedgeBuffer</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>pointFeatures</ows:Identifier>
<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

10 See http://docs.geoserver.org/stable/en/user/filter/function_reference.html123
Spatial Extension for GeoServer WPS 1.0

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:anglepoint"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>azimuth</ows:Identifier>

<wps:Data>

<wps:LiteralData>azimuth</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>wedgeAngle</ows:Identifier>

<wps:Data>

<wps:LiteralData>wedgeangle</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>innerRadius</ows:Identifier>

<wps:Data>

<wps:LiteralData>radius1</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>outerRadius</ows:Identifier>

<wps:Data>

<wps:LiteralData>radius2</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>
<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of executing the Wedge buffer using the attributes of the point

layer.124
Spatial Extension for GeoServer WPS 1.0
125
Spatial Extension for GeoServer WPS 1.0

4.2.5.5. Near (Nearest Distance & Attributes)

Calculates the distance and attribute values of the nearest feature relative to the input feature
layer.
◼ Syntax

Near (SimpleFeatureCollection inputFeatures, SimpleFeatureCollection nearFeatures,

String nearIdField, Double maximumDistance): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input Features. Complex ✓
nearFeatures Near Features. Complex ✓
nearIdField Near ID field. Literal -
maximumDistance Maximum distance. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If you do not set the nearIdField field, use the feature's internal ID.
- inputFeatures, nearFeatures are both point, line, and polygon, and calculate the shortest
distance between two geometries.
- If maximumDistance is set and there is no feature within the set distance, a null value is
entered.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"
126
Spatial Extension for GeoServer WPS 1.0

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:Near</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>nearFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:wardoffice"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>
◼ Response

This is the result of Near analysis between apartment and municipal office. Shortest distance is
property

Calculated.

127
Spatial Extension for GeoServer WPS 1.0
128
Spatial Extension for GeoServer WPS 1.0

4.2.5.6. Nearest Neighbor Count

Calculates the number of Near features in the radius based on the input feature layer.
◼ Syntax

NearestNeighborCount (SimpleFeatureCollection inputFeatures, String countField,

SimpleFeatureCollection nearFeatures, Double searchRadius): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input Features. Complex ✓
countField Count field. The default is count. Literal -
nearFeatures Near Features. Complex ✓
searchRadius Search radius. Search radius must be greater than 0. Literal ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures, nearFeatures are both point, line, and polygon, and

calculate the shortest distance between two geometries.

- The unit of the searchRadius parameter must be greater than 0 using the

inputFeatures distance unit.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

129
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>statistics:NearestNeighborCount</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:road"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>countField</ows:Identifier>

<wps:Data>

<wps:LiteralData>pub_cnt</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>nearFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:pubs"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>searchRadius</ows:Identifier>

<wps:Data>
<wps:LiteralData>500</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

130
Spatial Extension for GeoServer WPS 1.0

◼ Response

This is the graduated symbol representation of the number of points within a 500-meter radius
of a major road.
131
Spatial Extension for GeoServer WPS 1.0

4.2.5.7. Polar Grids from Geometry


Generates a radial Polar grid based on the reference geometry and a comma-separated radius.
◼ Syntax

PolarGridsFromGeometry (Geometry origin, String radius, RadialType radialType, Integer

sides): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
origin The center features of polar grids. Complex ✓
The list of radius(unit:data unit):
radius Literal ✓
Ex) 200, 300, 400, 500.
radialType Radial Type: Polar (Default), Base. Literal -
sides The number of sides. Default is 8 Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- In each cell of the output layer, angle and radius values are calculated.
- If you use the default value of the sides parameter (8), the azimuth field is added

and the direction values of NE, N, NW, W, SW, S, SE,

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

132
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>statistics:PolarGridsFromGeometry</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>origin</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="application/wkt"><![CDATA[POINT (14136522.58319524

4513573.676204068)]]></wps:ComplexData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>radius</ows:Identifier>

<wps:Data>

<wps:LiteralData>500, 1000, 1500, 2000, 2500</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>radialType</ows:Identifier>

<wps:Data>

<wps:LiteralData>Polar</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Points (POINT (14136522.58319524 4513573.676204068)) around the radius of 500, 1000,

This is the result of creating Polar Grid with intervals of 1500, 2000, and 2500 meters.
133
Spatial Extension for GeoServer WPS 1.0
134
Spatial Extension for GeoServer WPS 1.0

4.2.5.8. Polar Grids from Features


Creates a radial Polar grid based on the individual geometry and comma-separated radii of the
base feature layer.
◼ Syntax

PolarGridsFromFeatures (SimpleFeatureCollection origin, String radius, RadialType

radialType, Integer sides): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


origin The center features of polar grids. Complex ✓
The list of radius(unit:data unit):
radius Literal ✓
Ex) 200, 300, 400, 500.
radialType Radial Type: Polar (Default), Base. Literal -
sides The number of sides. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- In each cell of the output layer, angle and radius values are calculated.

If you use the default value of the - sides parameter (8), the azimuth field is added and the
direction values of NE, N, NW, W, SW, S, SE,

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
135
Spatial Extension for GeoServer WPS 1.0

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:PolarGridsFromFeatures</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>origin</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:wardoffice"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>radius</ows:Identifier>

<wps:Data>

<wps:LiteralData>500, 1000, 1500, 2000</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>radialType</ows:Identifier>

<wps:Data>

<wps:LiteralData>Polar</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>
◼ Response

Generate 8-way Polar Grid with a radius of 250,500,750,1000,1250,1500 meters based on the
municipal office

The result is a mapping of the result of calculating the number of apartments in each cell.

136
Spatial Extension for GeoServer WPS 1.0

4.2.6. Aggregation
And processes for nesting one or more pieces of data to compute a new value.

4.2.6.1. Point Statistics

Calculates the number or base statistic value of the polygon feature layer and the nesting
point layer.
◼ Syntax

PointStatistics (SimpleFeatureCollection inputFeatures, SimpleFeatureCollection

pointFeatures, String countField, String statisticsFields): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The polygon features to be calculated. Complex ✓
pointFeatures The point features to be calculated. Complex ✓
countField The count field. count is a default Literal -
statisticsFields Centroid(False, Default), Inside(True) Literal -
137
Spatial Extension for GeoServer WPS 1.0

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures should be polygon, and pointFeatures should be point feature type.


- countField stores the number of points contained in the polygon. The default value is
count.

- Statistics Fields are entered in the [function name.fieldname] structure as follows, and the
available functions are

As follows. Yes)Sum.pop, Mean.pop

Input value Return Field Name


First: String field, first value of the Dissolve target feature FST_FieldNameL

Last: String field, last value of the Dissolve target feature.


LST_FieldNameS

Sum: Sum of Numeric fields, Dissolve target features SUM_FieldName

Mean: Numeric field, average value of Dissolve target feature AVG_FieldName

Min: Numeric field, minimum value of Dissolve target feature MIN_Field Name

Max: Maximum value of the Numeric field, Dissolve target feature MAX_FieldName

Std: Numeric field, standard deviation of Dissolve target feature STD_ field name

Var: Variance of Numeric Field, Dissolve Target Feature VAR_ field name

Range: Numeric field, range of Dissolve target feature RNG_Field Name

Count: Number of Dissolve target features CNT_FieldName


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:PointStatistics</ows:Identifier>

<wps:DataInputs>

<wps:Input>

138
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>polygonFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>pointFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:gasstation"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>countField</ows:Identifier>

<wps:Data>

<wps:LiteralData>cnt</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>statisticsFields</ows:Identifier>

<wps:Data>

<wps:LiteralData>Mean.price</wps:LiteralData>

</wps:Data>
</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

139
Spatial Extension for GeoServer WPS 1.0

(Mean.price) of the gas station at each city and district.

140
Spatial Extension for GeoServer WPS 1.0

4.2.6.2. Aggregate (Union) Polygons

Dissolve input polygon features to create one polygon feature layer.


◼ Syntax

UnionPolygon (SimpleFeatureCollection polygonFeatures, Boolean preserveHole):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


polygonFeatures The polygon features to be processed. Complex ✓
preserveHole Preserve or remove hole (interior ring). Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If the preserveHole parameter is False, all Interior Rings will remove the removed polygon

Return.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:UnionPolygon</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>polygonFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

141
Spatial Extension for GeoServer WPS 1.0

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>preserveHole</ows:Identifier>

<wps:Data>

<wps:LiteralData>False</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of union of all city and county boundaries. Because the preserveHole
parameter is False

Remove InteriorRing (Hole) if any.


142
Spatial Extension for GeoServer WPS 1.0

4.2.6.3. Collect Events

Creates point features with the same or different radius within a single feature.
◼ Syntax

CollectEvents (SimpleFeatureCollection inputFeatures, String countField, Double

tolerance): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputFeatures The features representing event or incident data. Complex ✓
The field to be calculated coincident points count.
countField Literal -
icount (Default ).

The tolerance distance for considering two points


tolerance Literal -
equal.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If you do not set the countField parameter, use the icount field as the default.
- A tolerance value of 0 means an exact match point; a value greater than 0 means a
tolerance

The features are considered the same.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

143
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>statistics:CollectEvents</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:checkins"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>countField</ows:Identifier>

<wps:Data>

<wps:LiteralData>icount</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>tolerance</ows:Identifier>

<wps:Data>

<wps:LiteralData>5</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
This is the result of combining points within the set distance.

144
Spatial Extension for GeoServer WPS 1.0
145
Spatial Extension for GeoServer WPS 1.0

4.2.6.4. Spatial Join


Perform spatial joins of two features based on spatial relationships. Contains all attribute
values for both feature layers.
◼ Syntax

SpatialJoin (SimpleFeatureCollection inputFeatures, SimpleFeatureCollection joinFeatures,

SpatialJoinType joinType, Double searchRadius): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features. Complex ✓
joinFeatures Join features. Complex ✓
joinType Join Type. KeepAllRecord, OnlyMatchingRecord Literal -
searchRadius Search Radius. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If the value of the joinType parameter is KeepAllRecord, then the spatial join is not
performed

Returns all features of inputFeatures.


- Given the value of the searchRadius parameter,
Join.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"
xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

146
Spatial Extension for GeoServer WPS 1.0

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:SpatialJoin</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:stores"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>joinFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>joinType</ows:Identifier>

<wps:Data>

<wps:LiteralData>KeepAllRecord</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>
<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

147
Spatial Extension for GeoServer WPS 1.0

This is the result of Spatial Join on the information of the city and districts to which the large
store point layer belongs. For Pont or Line layers, you can set the search radius to get the
properties of nearby features.

148
Spatial Extension for GeoServer WPS 1.0

4.2.6.5. Attribute Join


Perform joins using two feature layers and join fields. Contains all attribute

values for both feature layers.

◼ Syntax

AttributeJoin (SimpleFeatureCollection inputFeatures, String primaryKey,

SimpleFeatureCollection joinFeatures, String foreignKey, Join.Type joinType):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features. Complex ✓
primaryKey Primary key field. Literal ✓
joinFeatures Join features. Complex ✓
foreignKey Foreign key field. Literal ✓
joinType Join type. INNER, OUTER Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If the joinType is INNER, it returns only the features of the inputFeatures to be joined.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:AttributeJoin</ows:Identifier>

149
Spatial Extension for GeoServer WPS 1.0

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:stores"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>primaryKey</ows:Identifier>

<wps:Data>

<wps:LiteralData>sgg_cd</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>joinFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>foreignKey</ows:Identifier>

<wps:Data>

<wps:LiteralData>sgg_cd</wps:LiteralData>

</wps:Data>
</wps:Input>

<wps:Input>

<ows:Identifier>joinType</ows:Identifier>

<wps:Data>

<wps:LiteralData>OUTER</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

150
Spatial Extension for GeoServer WPS 1.0

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of joining using the city and county code of large department store and city
government administrative boundary as join field.
151
Spatial Extension for GeoServer WPS 1.0

4.2.6.6. Buffer Point Statistics


Enter the radius to calculate the number of points included in the radius or the statistic (sum,
maximum, minimum, average, etc.) of the attribute information.

◼ Syntax

BufferPointStatistics (SimpleFeatureCollection inputFeatures, Double distance,

SimpleFeatureCollection pointFeatures, String countField, String statisticsFields):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features. Complex ✓
distance Search distance. Literal ✓
pointFeatures Point features. Complex ✓
countField Count field. Default is count. Literal -
Statistics Fields:

statisticsFields Function.PropertyName(First, Last, Sum, Mean, Min, Literal -

Max, Std, Count)

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- countField stores the number of points contained in the polygon. The

default value is count.

- Statistics Fields are entered in the [function name.fieldname] structure as

follows, and the available functions are as follows. Example) Sum.pop,

Mean.pop
Input value Return Field Name
First: String field, first value of the Dissolve target feature FST_FieldName

152
LST_FieldName
Last: String field, Dissolve Last value of target feature Sum: Numeric SUM_FieldName
Field, Dissolve Sum of target features Mean: Numeric field, Dissolve
AVG_FieldName
Mean value of target feature Min: Numeric field, Dissolve target
MIN_Field Name
Feature Min: Max: Numeric field, Dissolve Target Feature
MAX_FieldName
Maximum value Std: Numeric field, standard deviation of Dissolve
STD_ field name
target feature Var:
VAR_ field name
Numeric field, Dissolve Dispersion of target feature Range: Numeric
RNG_Field
field,
Name
Scope of Dissolve Target Feature
CNT_FieldName
Count: Number of Dissolve targetfeatures

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:BufferPointStatistics</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:wardoffice"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>distance</ows:Identifier>

<wps:Data>

<wps:LiteralData>2000</wps:LiteralData>

</wps:Data>
</wps:Input>

<wps:Input>

<ows:Identifier>pointFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

153
Spatial Extension for GeoServer WPS 1.0

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>countField</ows:Identifier>

<wps:Data>

<wps:LiteralData>cnt</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is a result of calculating and mapping the number of apartments included within 2000
meters of the municipal office.
154
Spatial Extension for GeoServer WPS 1.0

4.2.6.7. Sum Line Lengths


Clips a line feature layer that intersects a polygon feature to calculate the number of line
features that intersect the length.

◼ Syntax

SumLineLength (SimpleFeatureCollection polygons, String lengthField, String countField,

SimpleFeatureCollection lines): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


polygons The polygon features that will be calculated. Complex ✓
The length field that will be calculated. sum_len is
lengthField Literal ✓
default.

The count field that will be calculated. line_cnt is


countField Literal -
default.

lines The line features that will be calculated. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The lengthField stores the sum of the lengths of the lines that overlap the

polygon feature and defaults to sum_len.

- countField stores the number of lines in the polygon. The default value is

line_cnt.

◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

155
Spatial Extension for GeoServer WPS 1.0

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:SumLineLength</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>polygons</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:emd"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>lengthField</ows:Identifier>

<wps:Data>

<wps:LiteralData>len</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>lines</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:road"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>
</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

156
Spatial Extension for GeoServer WPS 1.0

◼ Response

It is map result after calculation of extension of main road by Eup and Myeon Dong.
157
Spatial Extension for GeoServer WPS 1.0

4.2.6.8. Spatial Clump Map


Create a Spatial Clump Map using point features and radius expressions.
◼ Syntax

SpatialClumpMap (SimpleFeatureCollection inputFeatures, Expression radius, Integer

quadrantSegments): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputFeatures Input features to be buffered. Complex ✓
The radius expression used to create distance. Ex)
radius Literal ✓
1000 or [field] or [field] * 0.5 etc...
The number of line segments used to represent a
quadrantSegments Literal -
quadrant of a circle. Default is 8.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The default value of the quatrantSegments parameter is 8.


◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:SpatialClumpMap</ows:Identifier>

<wps:DataInputs>
<wps:Input>

158
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:outbreak" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>radius</ows:Identifier>

<wps:Data>

<wps:LiteralData>5000</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of creating a Spatial Clump Map with a radius of 5 km.
159
Spatial Extension for GeoServer WPS 1.0

4.2.6.9. Hexagonal Binning


Create a hexagon grid using point features, ranges, and radii, and then create a polygon
feature that counts the number of points in each cell.

◼ Syntax

HexagonalBinning (SimpleFeatureCollection features, Expression weight,

ReferencedEnvelope bbox, Double size, Boolean validGrid): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


features Input point features to be aggregated. Complex ✓
The numeric field or expression used to weight
weight Literal -
values. Ex) [field] or [field] * 0.5 etc...
bbox The extent of the grids. Complex -
size Size of the grids. Literal ✓
validGrid Returns only valid grid. Default is True. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If bbox is null, use extents of features data.


- If a weight expression is given, it accumulates the value of weight.
- size must be greater than zero.
- The default value of the validGrid parameter is True, which returns only grids with zero or
more points.
◼ Request Examples

160
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:HexagonalBinning</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>features</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>size</ows:Identifier>

<wps:Data>

<wps:LiteralData>1500</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>
◼ Response

It is the result of visualizing the apartment point data of Seoul city after creating 1000 meter
Hexagon.

161
Spatial Extension for GeoServer WPS 1.0
162
Spatial Extension for GeoServer WPS 1.0

4.2.6.10. Rectangular Binning


Creates a Rectangle grid with point features, ranges, and radii, then creates a polygon feature
that counts the number of points in each cell.

◼ Syntax

RectangularBinning (SimpleFeatureCollection features, Expression weight,

ReferencedEnvelope bbox, Double width, Double height, Boolean validGrid):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
features Input point features to be aggregated. Complex ✓
The numeric field or expression used to weight
weight Literal -
values. Ex) [field] or [field] * 0.5 etc...
bbox The extent of the grids. Complex -
width Width of the grids. Literal ✓
height Height of the grids. Literal ✓
validGrid Returns only valid grid. Default is True. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If bbox is null, use extents of features data.


- If a weight expression is given, it accumulates the value of weight.
- width, and height must be greater than zero.
- The default value of the validGrid parameter is True, only the grid with zero or more
points

Return.
163
Spatial Extension for GeoServer WPS 1.0

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RectangularBinning</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>features</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>width</ows:Identifier>

<wps:Data>

<wps:LiteralData>1500</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>height</ows:Identifier>

<wps:Data>

<wps:LiteralData>1500</wps:LiteralData>

</wps:Data>
</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

164
Spatial Extension for GeoServer WPS 1.0

◼ Response

Seoul city apartment point data is created by visualizing a 1500-meter Rectangle

The result.

4.2.6.11. Circular Binning


Creates a Circle grid using point features, ranges, and radii, and creates a polygon feature that
counts the number of points in each cell.
◼ Syntax

CircularBinning (SimpleFeatureCollection features, Expression weight, ReferencedEnvelope

bbox, Double radius, Boolean validGrid): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


features Input point features to be aggregated. Complex ✓
The numeric field or expression used to weight
weight Literal -
values. Ex) [field] or [field] * 0.5 etc... 165
Spatial Extension for GeoServer WPS 1.0

bbox The extent of the grids. Complex -


radius Radiuss of the grids. Literal ✓
validGrid Returns only valid grid. Default is True. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If bbox is null, use extents of features data.


- If a weight expression is given, it accumulates the value of weight.
- radius must be greater than zero.
- The default value of the validGrid parameter is True, which returns only grids

with zero or more points.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:CircularBinning</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>features</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>
</wps:Body>

</wps:Reference>

166
Spatial Extension for GeoServer WPS 1.0

</wps:Input>

<wps:Input>

<ows:Identifier>radius</ows:Identifier>

<wps:Data>

<wps:LiteralData>750</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The Seoul apartment point data is visualized after creating circle of 750-meter radius

The result.
167
Spatial Extension for GeoServer WPS 1.0

4.2.7. Generalization

Dissolve, and Simplification.


4.2.7.1. Dissolve
Perform Dissolve analysis using attribute fields and aggregate functions in the feature layer.
◼ Syntax

Dissolve (SimpleFeatureCollection inputFeatures, String dissolveField, String

statisticsFields, Boolean useMultiPart): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features. Complex ✓
dissolveField The field on which to dissolve features. Literal ✓
The fields and statistics with which to summarize
attribute .
s
statisticsFields Literal -
Statistics fields(Function.PropertyName): First, Last,

Sum, Mean, Min, Max, Std, Count.


Specifies whether multipart features are allowed in
useMultiPart Literal -
the output features.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If useMultiPart is False, convert the dissociated features into a single part and return.

- Statistics Fields are entered in the [function name.fieldname] structure as

follows, and the available functions are as follows. Example) Sum.pop,

Mean.pop
Input value Return Field Name
First: String field, first value of the Dissolve target feature FST_FieldName

168
Spatial Extension for GeoServer WPS 1.0

Last: String field, last value of the Dissolve target feature. LST_FieldName

Sum: Sum of Numeric fields, Dissolve target features Mean: Numeric SUM_FieldName

Field of Dissolve Target Feature AVG_FieldName

Average value Min: Numeric field, minimum value of dissolve target MIN_Field Name

feature Max: MAX_FieldName

Numeric field, maximum value of Dissolve target feature Std: STD_ field name

Numeric field, VAR_ field name

Dissolve Standard deviation of target feature Var: Numeric field, RNG_Field

Dissolve target Name

Range of Feature Range: Numeric field, range of Dissolve target CNT_FieldName


feature
Count: Number of Dissolve target

features

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:Dissolve</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:emd"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>
<ows:Identifier>dissolveField</ows:Identifier>

<wps:Data>

<wps:LiteralData>sgg_nm</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>statisticsFields</ows:Identifier>

<wps:Data>

<wps:LiteralData>fst.sid_nm,sum.pop2007,sum.pop2008,sum.pts</wps:LiteralData>

169
Spatial Extension for GeoServer WPS 1.0

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of setting the county name (sgg_nm) field and fst.sid_nm, sum.pop2007,
sum.pop2008, and sum.pts aggregate fields and performing Dissolve.
170
Spatial Extension for GeoServer WPS 1.0

4.2.7.2. Remove Polygon Holes


Polygon Remove all Holes (Interior Rings) in the feature layer or Holes smaller than the set
size.
◼ Syntax

RemoveHoles (SimpleFeatureCollection inputFeatures, Expression minimumArea):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The polygon features to be removed. Complex ✓
Remove holes smaller than this area expression.
minimumArea Literal -
Ex) 10.0 or filter expression.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- minimumArea is an Expression that returns a number by combining a number or field


value.
It is possible.
- If the value of the minimumArea parameter is 0, all of the polygon's Hole (Interior Ring)

If it is larger than 0, only the hole with a smaller area than the corresponding value is deleted.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
171
Spatial Extension for GeoServer WPS 1.0

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RemoveHoles</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:overlay01"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>minimumArea</ows:Identifier>

<wps:Data>

<wps:LiteralData>1000</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

An example of removing a hole from a polygon with an Interior Ring (Hole).


172
Spatial Extension for GeoServer WPS 1.0


173
Spatial Extension for GeoServer WPS 1.0

4.2.7.3. Remove Polygon Part


Polygon composed of Multipart Geometry Remove all of the parts that are smaller than the
size set in the feature layer or leave the part with the largest area.

◼ Syntax

RemoveParts (SimpleFeatureCollection inputFeatures, Expression minimumArea):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The polygon features to be removed. Complex ✓
Remove polygon parts smaller than this area

minimumArea expression. Literal -

ex) 10.0 or filter expression.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The minimumArea is an expression that returns a number by combining numbers

or field values.

- If the value of the minimumArea parameter is 0, all of the Exterior rings

constituting the MultiPolygon are deleted, leaving only the largest ring. If the

value is larger than 0, only the ring smaller than the corresponding value is

deleted.

◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

174
Spatial Extension for GeoServer WPS 1.0

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RemoveParts</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

An example of removing a Polygon below a specific area in a MultiPolygon. As shown in the


figure, all islands with small areas have been removed.
175
Spatial Extension for GeoServer WPS 1.0

4.2.7.4. Simplify

Use the Douglas-Peucker simplification algorithm to simplify polygons or line features.


◼ Syntax

Simplify (SimpleFeatureCollection inputFeatures, Expression tolerance, Boolean

preserveTopology): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputFeatures The input line or polygon features to be simplified. Complex ✓
Distance tolerance to simplify ex) 10.0 or filter
tolerance Literal ✓
expression.

If True, ensures that simplified features are


preserveTopology Literal -
topologically valid. Default is True

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The tolerance parameter can be a number or an expression, using the

Douglas-Peucker algorithm.

- If the preserveTopology parameter value is True, the minimum topology rule is

maintained regardless of the Tolerance value.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"
xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

176
Spatial Extension for GeoServer WPS 1.0

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:Simplify</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:road"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>tolerance</ows:Identifier>

<wps:Data>

<wps:LiteralData>5</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The blue line is the original, the red line is the Simplify result.
177
Spatial Extension for GeoServer WPS 1.0

4.2.7.5. Densify
Adds the vertices of the tolerance interval you set for each line segment of the polygon or line
feature.
◼ Syntax

Densify (SimpleFeatureCollection inputFeatures, Expression tolerance):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The input line or polygon features to be calculated. Complex ✓
Distance tolerance to densify ex) 10.0 or filter
tolerance Literal ✓
expression.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The tolerance parameter can be a number or an expression.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:Densify</ows:Identifier>

<wps:DataInputs>
<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

178
Spatial Extension for GeoServer WPS 1.0

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:line"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>tolerance</ows:Identifier>

<wps:Data>

<wps:LiteralData>250</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of performing Densify at 250m interval from original line composed of start
point and end point. Blue is the original vertex, and red is the added vertex.
179
Spatial Extension for GeoServer WPS 1.0

4.2.7.6. Eliminate

Remove the Sliver polygon based on the shared area or length of the neighboring polygon.
◼ Syntax

Eliminate (SimpleFeatureCollection inputFeatures, EliminateOption option, Filter

exception): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The layer whose polygons will be merged into
inputFeatures Complex ✓
neighboring polygons.
The options specify which method will be used for
option Literal -
eliminating features.
The exception filter used to identify features that will
exception Literal -
not be altered .

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The inputFeatures layer must be of polygon type.


- The option parameter incorporates the Sliver polygon as the basis for removing

the Sliver polygon with the largest shared length, the largest area (SmallArea),

and the smallest neighbor (SmallArea).

- The exception parameter sets the filter to be excluded from processing.


◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

180
Spatial Extension for GeoServer WPS 1.0

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:Eliminate</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:seoul_series"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>option</ows:Identifier>

<wps:Data>

<wps:LiteralData>Length</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Sliver Original Original with polygon Original and result with Sliver polygon removed based on
shared length in layer.
181
Spatial Extension for GeoServer WPS 1.0
182
Spatial Extension for GeoServer WPS 1.0

4.2.8. Editing

Dissolve, and Simplification.


4.2.8.1. Reverse Line Direction

Changes the vertex order of the line feature layer.


◼ Syntax

FlipLine (SimpleFeatureCollection lineFeatures): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


lineFeatures The input line features. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The lineFeatures parameter must be a line layer.

◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:FlipLine</ows:Identifier>

<wps:DataInputs>
<wps:Input>

<ows:Identifier>lineFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

183
Spatial Extension for GeoServer WPS 1.0

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:line" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The line source (red) data and the converted result (blue) data.
184
Spatial Extension for GeoServer WPS 1.0
185
Spatial Extension for GeoServer WPS 1.0

4.2.8.2. Offset Features


Moves all features in the feature layer by x, y offset.
◼ Syntax

OffsetFeatures (SimpleFeatureCollection inputFeatures, Double offsetX, Double offsetY):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
Input features that can be multipoint, line, and
inputFeatures Complex ✓
polygon.

offsetX X offset. Literal -


offsetY Y offset. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If the offsetX value is positive on the basis of the original position, it moves to the

right if the value is negative. If the value of offsetY is positive, it moves to the

negative value.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:OffsetFeatures</ows:Identifier>

<wps:DataInputs>

<wps:Input>

186
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:randomsgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>offsetX</ows:Identifier>

<wps:Data>

<wps:LiteralData>500</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>offsetY</ows:Identifier>

<wps:Data>

<wps:LiteralData>500</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of moving the original layer to 500 on the X axis and 500 on the Y axis.
187
Spatial Extension for GeoServer WPS 1.0
188
Spatial Extension for GeoServer WPS 1.0

4.2.8.3. Snap Points To Lines


Move the features of the point layer to the nearest line or polygon boundary based on the
snap distance.
◼ Syntax

SnapPointsToLines (SimpleFeatureCollection pointFeatures, SimpleFeatureCollection

lineFeatures, Double tolerance): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


pointFeatures Point features to be snapped. Complex ✓
lineFeatures Line features that can be Line or polygon boundary. Complex ✓
Snap tolerance. If tolerance is 0, nearest line feature
tolerance Literal -
will be used.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The lineFeatures layer should be of type line or polygon.

- If the tolerance parameter is zero, it moves to the nearest line

feature and uses the distance unit of pointFeatures.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

189
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>statistics:SnapPointsToLines</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>pointFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:pubs"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>lineFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:road"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of snapping the points around the road to the nearest road (line).
190
Spatial Extension for GeoServer WPS 1.0
191
Spatial Extension for GeoServer WPS 1.0

4.2.8.4. Extend Line


Expands the features of the line layer to the intersection of the first intersecting line within a
specified distance.
◼ Syntax

ExtendLine (SimpleFeatureCollection lineFeatures, Double length, Boolean extendTo):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


lineFeatures The line features to be extended. Complex ✓
The maximum distance a line segment can be
length Literal ✓
extended to an intersecting feature.
Controls whether line segments can be extended to

extendTo other extended line segments within the specified Literal -

extend length.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The lineFeatures layer should be a line type.


- The length parameter is the maximum distance a line segment can extend,
Use distance units of lineFeatures.
- If the extendTo parameter is True, all segments extend the length by

To be applied.
◼ Request Examples

192
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:ExtendLine</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>lineFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:line"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>length</ows:Identifier>

<wps:Data>

<wps:LiteralData>2000</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>extendTo</ows:Identifier>

<wps:Data>

<wps:LiteralData>True</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>
<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

193
Spatial Extension for GeoServer WPS 1.0

This is the result of a line extending a certain distance.

194
Spatial Extension for GeoServer WPS 1.0

4.2.8.5. Trim Line

Cut features in the line layer that are shorter than a certain length and do not intersect other
lines and start / end points.
◼ Syntax

TrimLine (SimpleFeatureCollection lineFeatures, Double dangleLength, Boolean

deleteShort): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


lineFeatures The line features to be trimmed. Complex ✓
Line segments that are shorter than the specified

dangleLength Dangle Length and do not touch another line at Literal

✓ both endpoints
Controls whether line segments which are less than
(dangles) will be trimmed.
deleteShort the dangle length and are free-standing will be Literal -

deleted. Default is True.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The lineFeatures layer should be a line type.


- If the deleteShort parameter is True and an independent line that does not

intersect any other line at the start / end point is less than the dangleLength

length, it is deleted.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"
xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

195
Spatial Extension for GeoServer WPS 1.0

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:TrimLine</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>lineFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:line"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>dangleLength</ows:Identifier>

<wps:Data>

<wps:LiteralData>1700</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>deleteShort</ows:Identifier>

<wps:Data>

<wps:LiteralData>True</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>
</wps:Execute>

◼ Response

It is the result of cutting a segment smaller than a certain length.

196
Spatial Extension for GeoServer WPS 1.0
197
Spatial Extension for GeoServer WPS 1.0

4.2.8.6. Delete Duplicated Features


In the feature layer, delete only one feature with the same geometry.
◼ Syntax

DeleteDuplicates (inputFeatures SimpleFeatureCollection): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The input features to be processed. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures can be point, line, or polygon, and the geometry of each feature

Only duplicates are processed if they are the same.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:DeleteDuplicates</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>
<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

198
Spatial Extension for GeoServer WPS 1.0

<wfs:Query typeName="foss:pubs"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
Duplicate points have only one feature stored:
199
Spatial Extension for GeoServer WPS 1.0

4.2.9. Feature Tools

Geometry type conversion, and format conversion.


4.2.9.1. Feature to Point
Convert feature layers to point feature layers, such as center points.
◼ Syntax

FeatureToPoint (SimpleFeatureCollection inputFeatures, Boolean inside, Boolean

singlePart): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The input features that can be multipoint, line,
inputFeatures Complex ✓
polygon.

inside Centroid(False), Inside(True, Default) Literal -


singlePart Centroid of each part. Default is False Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures can be point, line, or polygon.


- If inputFeatures is a polygon and inside is Ture, the center point must be included in the
polygon.

- If singlePart is True and the Geometry is MultiPart, convert the geometry of all

the Part to the center point.

◼ Request Examples
200
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:FeatureToPoint</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inside</ows:Identifier>

<wps:Data>

<wps:LiteralData>True</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>singlePart</ows:Identifier>

<wps:Data>

<wps:LiteralData>False</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>
<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

201
Spatial Extension for GeoServer WPS 1.0

The inside parameter is True and the singlePart parameter is True. For MultiPolygon, one
center point is converted.

The inside parameter is True and the singlePart parameter is False. For MultiPolygon, the
center point is converted by the number of polygons.

202
Spatial Extension for GeoServer WPS 1.0

4.2.9.2. Multipart to Singlepart

Converts feature layers made up of MultiParts to SinglePart feature layers.


◼ Syntax

MultipartToSinglepart (SimpleFeatureCollection inputFeatures): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features that can be any feature type. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The inputFeatures parameter must be a Multipart (MultiPoint, MultiLineString,

MultiPolygon) feature type.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:MultipartToSinglepart</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>
<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

203
Spatial Extension for GeoServer WPS 1.0

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of converting a MultiPolygon composed of two or


more polygons to a single polygon.


204
Spatial Extension for GeoServer WPS 1.0
205
Spatial Extension for GeoServer WPS 1.0

4.2.9.3. Singlepart to Multipart


Converts feature layers configured as SinglePart to MultiPart feature layers based on property
values.
◼ Syntax

SinglepartToMultipart (SimpleFeatureCollection inputFeatures, String caseField, Boolean

dissolve): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features that can be point, line, polygon. Complex ✓
caseField The field on which to aggregate features. Literal ✓
If true, neighborhood features are dissolved. Default
dissolve Literal -
is False

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- f the Dissolve parameter is True, the adjacent polygons or lines are Dissolve

Returns the geometry.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:SinglepartToMultipart</ows:Identifier>

<wps:DataInputs>

206
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:emd"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>caseField</ows:Identifier>

<wps:Data>

<wps:LiteralData>sgg_nm</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

A layer consisting of a single Polygon is renamed MultiPolygon

This is an example of conversion.


207
Spatial Extension for GeoServer WPS 1.0


208
Spatial Extension for GeoServer WPS 1.0

4.2.9.4. Feature Envelope to Polygon


Converts the minimum boundary area of each feature in the feature layer to a polygon feature
layer.
◼ Syntax

FeatureEnvelopeToPolygon (SimpleFeatureCollection inputFeatures, Boolean

singleEnvelope): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features that can be multipoint, line, polygon. Complex ✓
Specifies whether to use one envelope for each

singleEnvelope entire multipart feature or one envelope per part of Literal -

a multipart feature. Default is True

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If singleEnvelope is False and the geometry of each feature is MultiLineString,

MultiPolygon, it converts to Single Part and returns Envelope polygon for each

geometry.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:FeatureEnvelopeToPolygon</ows:Identifier>

<wps:DataInputs>

209
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>singleEnvelope</ows:Identifier>

<wps:Data>

<wps:LiteralData>False</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Polygon Feature The result of converting the Envelope of Geometry to Polygon.


210
Spatial Extension for GeoServer WPS 1.0

Using the [Calculate Field] function, you can get the minimum bounding envelope surrounding the polygon
as follows:

211
Spatial Extension for GeoServer WPS 1.0

4.2.9.5. Points to Line


In the point feature layer, set the line and alignment field values to convert to a line or
polygon layer.
◼ Syntax

PointsToLine (SimpleFeatureCollection inputFeatures, String lineField, String sortField,

Boolean closeLine): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The point features to be converted into lines. Complex ✓
Each feature in the output will be based on unique
lineField Literal -
values in the Line Field.
By default, points used to create each output line

sortField feature will be used in the order they are found. If a Literal -

different order is desired, specify a Sort Field.


Specifies whether output line features should be
closeLine Literal
closed. Default is False.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- Setting the lineField parameter creates each line according to the unique value of
lineField.

- When you set the sortField parameter, it creates a line using the sortField-

aligned points.

- If the closeLine parameter is True, the polygon is created by concatenating the start and
end points.
◼ Request Examples
212
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:PointsToLine</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:track_points"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>lineField</ows:Identifier>

<wps:Data>

<wps:LiteralData>cat</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>sortField</ows:Identifier>

<wps:Data>

<wps:LiteralData>id</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>
<ows:Identifier>closeLine</ows:Identifier>

<wps:Data>

<wps:LiteralData>False</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

213
Spatial Extension for GeoServer WPS 1.0

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of converting all points including the category and serial number to Line. The
line is created according to the serial number sequence and consists of two categories.

In the above example, setting closeLine to True produces a polygon.

214
Spatial Extension for GeoServer WPS 1.0

4.2.9.6. Ring Maps


Create a ring map by setting the property field or the number of rings separated by a comma
of the feature layer.
◼ Syntax

RingMap (SimpleFeatureCollection inputFeatures, String fields, String targetField, Integer

ringGap): [SimpleFeatureCollection, SimpleFeatureCollection]

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features that can be point, line, and polygon. Complex ✓
fields Comma separated field or ring count. Literal ✓
targetField Output ring value field. ring_val is default. Literal -
ringGap Gap of rings. Literal -

◼ Process Outputs

Identifier Description Type Required


anchor Anchor features. Complex ✓

ringmap Ring map features. Complex ✓

◼ Constraints

- The fields parameter uses the number of consecutive fields or rings, such as a

comma-separated yearly time series field.

- If targetField is null, the ring_val field is the default.


- The ringGap parameter can be from 1 to 9, with 1 being the default.
- The output consists of anchor lines indicating leader lines and a ringmap polygon
Returns two layers.
◼ Request Examples

215
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RingMap</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:seoul_series"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>fields</ows:Identifier>

<wps:Data>

<wps:LiteralData>a3_2000,a3_2001,a3_2002,a3_2003,a3_2004,a3_2005</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>targetField</ows:Identifier>

<wps:Data>

<wps:LiteralData>ring_val</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>
<wps:ResponseDocument>

<wps:Output mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>anchor</ows:Identifier>

</wps:Output>

<wps:Output mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>ringmap</ows:Identifier>

</wps:Output>

</wps:ResponseDocument>

</wps:ResponseForm>

216
Spatial Extension for GeoServer WPS 1.0

</wps:Execute>

◼ Response

This is the result of creating the Ring Map using the population growth rate property of the
city from 2000 to 2005.

217
Spatial Extension for GeoServer WPS 1.0

4.2.9.7. Wind Rose Maps

Create a Wind Rose Map by setting the point feature layer and center point.
◼ Syntax

WindRoseMap (SimpleFeatureCollection inputFeatures, String weightField, Geometry

center): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features that can be point, line, and polygon. Complex ✓
weightField Weight field. Literal -
center Center (geometry) of wind rose. Complex -

◼ Process Outputs

Identifier Description Type Required


anchor anchor features. Complex ✓

windRose Wind rose features. Complex ✓

◼ Constraints

- The weightField parameter must be a Numeric field, and if set, the sum of these

field values will be reflected in the result, otherwise the number of features will

be reflected.

- Output returns the anchor line and the windRose polygon layer to display the leader line.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:WindRoseMap</ows:Identifier>

218
Spatial Extension for GeoServer WPS 1.0

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>center</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="application/wkt"><![CDATA[POINT(14135161.941

4518394.452)]]></wps:ComplexData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:ResponseDocument>

<wps:Output mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>anchor</ows:Identifier>

</wps:Output>

<wps:Output mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>windRose</ows:Identifier>

</wps:Output>

</wps:ResponseDocument>

</wps:ResponseForm>

</wps:Execute>

◼ Response
It is the result of generating the distribution of apartments based on Seoul City Hall as Wind
Rose Map.

219
Spatial Extension for GeoServer WPS 1.0
220
Spatial Extension for GeoServer WPS 1.0

4.2.9.8. Hub Lines by ID


Create a shortest-distance Hub line feature layer using the join fields of the Hub feature layer
and the Spoke feature layer.
◼ Syntax

HubLinesByID (SimpleFeatureCollection hubFeatures, String hubIdField,

SimpleFeatureCollection spokeFeatures, String spokeIdField, Boolean preserveAttributes,

Boolean useCentroid, Boolean useBezierCurve, Double maximumDistance):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


hubFeatures Hub Features. Complex ✓
hubIdField Hub id field. Literal ✓
spokeFeatures Spoke Features. Complex ✓
spokeIdField Spoke id field. Literal ✓
preserveAttributes Preserve spoke feature's attributes. Default is True Literal -
useCentroid Use centroid of feature. Default is True Literal -
useBezierCurve Use Bezier Curve. Defautl is False. Literal -
maximumDistance Maximum distance. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If the useCentroid parameter is True and the Geometry feature type of

hubFeatures, spokeFeatures is a line or polygon, create the Hub Line using

Centroid of Geometry.
- If the useBezierCurve parameter is True, the shortest line between the two

features is created as a Bezier curve.

221
Spatial Extension for GeoServer WPS 1.0

- If the maximumDistance parameter is greater than 0, a Hub Line is created

only for features within this distance.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:HubLinesByID</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>hubFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:wardoffice"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>hubIdField</ows:Identifier>

<wps:Data>

<wps:LiteralData>sgg_nm</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>spokeFeatures</ows:Identifier>
<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:emd"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

222
Spatial Extension for GeoServer WPS 1.0

</wps:Input>

<wps:Input>

<ows:Identifier>spokeIdField</ows:Identifier>

<wps:Data>

<wps:LiteralData>sgg_nm</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>preserveAttributes</ows:Identifier>

<wps:Data>

<wps:LiteralData>True</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>useCentroid</ows:Identifier>

<wps:Data>

<wps:LiteralData>True</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of setting the city municipal office as Hub, setting the polygon of the eup
andong as a spoke layer, and creating the hub line based on the city and district code.
223
Spatial Extension for GeoServer WPS 1.0
224
Spatial Extension for GeoServer WPS 1.0

4.2.9.9. Hub Lines by Nearest Distance


Use the Hub feature layer and the Spoke feature layer to create a Hub line feature layer
between the closest Hub features in the Spoke feature.
◼ Syntax

HubLinesByDistance (SimpleFeatureCollection spokeFeatures, SimpleFeatureCollection

hubFeatures, String hubIdField, Boolean preserveAttributes, Boolean useCentroid, Boolean

useBezierCurve, Double maximumDistance): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


spokeFeatures Spoke Features. Complex ✓
hubFeatures Hub Features. Literal ✓
hubIdField Hub id field. Literal -
preserveAttributes Preserve spoke feature's attributes. Default is True Literal -
useCentroid Use centroid of feature. Default is True Literal -
useBezierCurve Use Bezier Curve. Defautl is False. Literal -
maximumDistance Maximum distance. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The useCentroid parameter is True and the geometry feature of hubFeatures,


spokeFeatures

If the type is line or polygon, create a hub line using Centroid of Geometry.
- If the useBezierCurve parameter is True, the shortest line between the two

features is created as a Bezier curve.


225
Spatial Extension for GeoServer WPS 1.0

- If the maximumDistance parameter is greater than 0, a Hub Line is created

only for features within this distance.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:HubLinesByDistance</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>spokeFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:wardoffice"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>hubFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>
</wps:Input>

<wps:Input>

<ows:Identifier>preserveAttributes</ows:Identifier>

<wps:Data>

<wps:LiteralData>True</wps:LiteralData>

</wps:Data>

</wps:Input>

226
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>useCentroid</ows:Identifier>

<wps:Data>

<wps:LiteralData>True</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of connecting the closest apartment in the municipal office with the city district
office as the hub and the apartment distribution as the spoke. It is located in the same area as
Thiessen Polygon, as shown in the figure.
227
Spatial Extension for GeoServer WPS 1.0

With the Bezier curve option, you can create a curve as follows:

228
Spatial Extension for GeoServer WPS 1.0

4.2.9.10. Feature To Line


Creates a line layer that is divided by nodes intersecting polygons or line layers.
◼ Syntax

FeatureToLine (SimpleFeatureCollection inputFeatures, Boolean preserveAttributes):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The input features that can be line or polygon. Complex ✓
Specifies whether to preserve or omit the input
preserveAttributes Literal -
attributes in the output features. Default is True.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The inputFeatures layer must be a line or polygon type.

- The default value of the preserveAttributes parameter is True; if True, the

property value of the original feature is retained.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:FeatureToLine</ows:Identifier>

229
Spatial Extension for GeoServer WPS 1.0

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>preserveAttributes</ows:Identifier>

<wps:Data>

<wps:LiteralData>True</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of converting the polygon layer to a line.


The converted line is divided into segments that share polygons as shown in the following
figure.
230
Spatial Extension for GeoServer WPS 1.0
231
Spatial Extension for GeoServer WPS 1.0

4.2.9.11. Feature To Polygon


Use polygons or line layers to create polygon layers.
◼ Syntax

FeatureToPolygon (SimpleFeatureCollection inputFeatures, Double tolerance,

SimpleFeatureCollection labelFeatures): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The input features that can be line or polygon. Complex ✓
tolerance Tolerance. The default is 0.001 feature unit. Literal -
The optional input point features that hold the

labelFeatures attributes to be transferred to the output polygon Complex -

features.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The inputFeatures layer must be a line or polygon type.


- The default value of the tolerance parameter is 0.001, which is in units of the
inputFeatures coordinate system.

- The labelFeatures layer must be a point type.


- If the labelFeatures parameter is not null, this scheme is used, and after the

creation of the polygon, the property values of the labelFeatures points

contained in the polygon are assigned.

◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

232
Spatial Extension for GeoServer WPS 1.0

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:FeatureToPolygon</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:line"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>tolerance</ows:Identifier>

<wps:Data>

<wps:LiteralData>0.001</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of converting the line layer to a polygon


233
Spatial Extension for GeoServer WPS 1.0
234
Spatial Extension for GeoServer WPS 1.0

4.2.9.12. Feature Vertices to Points


Creates a point feature layer based on the vertex position set using the polygon or line data
◼ Syntax

VerticesToPoints (SimpleFeatureCollection inputFeatures, PointLocationType location):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The input features that can be line or polygon. Complex ✓
Specifies where an output point will be created.
location Literal -
Default i s All

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The inputFeatures parameter should be a line or polygon layer.


- location 파라미터는 다음과 같이 5 개의 옵션을 사용할 수 있다.

option Explanation
All All vertices of line or polygon geometry, default
Mid Midpoint of line or polygon geometry
Start Starting point of line or polygon geometry
End Endpoint of line or polygon geometry
BothEnds The starting and ending points of the line or polygon geometry

◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

235
Spatial Extension for GeoServer WPS 1.0

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:VerticesToPoints</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:line" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>location</ows:Identifier>

<wps:Data>

<wps:LiteralData>Mid</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.1">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
The result of converting the Mid (midpoint) of the line feature to a point.

236
Spatial Extension for GeoServer WPS 1.0
237
Spatial Extension for GeoServer WPS 1.0

4.2.9.13. Repair Geometry

Correct the error after validating the geometry of each feature in the feature layer.
◼ Syntax

RepairGeometry (inputFeatures SimpleFeatureCollection): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features that will be repaired. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- Check null geometry, self-intersection

- Validate coordinates

- Remove empty shell/holes, duplicated vertices/points

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:RepairGeometry</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

238
Spatial Extension for GeoServer WPS 1.0

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:seoul_series"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

- None
239
Spatial Extension for GeoServer WPS 1.0

4.2.9.14. Create Points along Line


Use polygons or line data to create point feature layers with a certain distance.
◼ Syntax

PointsAlongLines (SimpleFeatureCollection lineFeatures, Expression distance):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The line or polygon features to be converted into
lineFeatures Complex ✓
points.

distance Field or Expression representing distance. Literal ✓

◼ Process Outputs

Identifier Description Type Required


result Output point features. Complex ✓

◼ Constraints

- The inputFeatures parameter should be a line or polygon layer.


- The distance parameter can be a field or a Function Expression expression.
◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:PointsAlongLines</ows:Identifier>

<wps:DataInputs>
240
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>lineFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:line" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>distance</ows:Identifier>

<wps:Data>

<wps:LiteralData>geomLength( [geom] ) / 5</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.1">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The following example is the result of creating a point at 1/5 the line length.
241
Spatial Extension for GeoServer WPS 1.0

4.2.9.15. Split Line at Point

Splits the line feature layer into point feature layers.


◼ Syntax

SplitLineAtPoint (SimpleFeatureCollection lineFeatures, SimpleFeatureCollection

pointFeatures, Double tolerance): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
lineFeatures The line features to be splitted. Complex ✓
The point features whose locations will be used to
pointFeatures Complex ✓
split the line features.
Search radius. If tolerance is 0, the nearest point will
tolerance Literal -
be used to split the line feature.

◼ Process Outputs

Identifier Description Type Required


result Output line features. Complex ✓

◼ Constraints

- The inputFeatures parameter must be a line layer.


- If the tolerance parameter is 0, all points that intersect each line feature are used,

If there are no intersecting point features, the closest one point feature is used for line
splitting.
- If the tolerance parameter is greater than or equal to zero, all point features within

the search radius are used for partitioning.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"
242
Spatial Extension for GeoServer WPS 1.0

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:SplitLineAtPoint</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>lineFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:line"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>pointFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:stores"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>tolerance</ows:Identifier>

<wps:Data>

<wps:LiteralData>50</wps:LiteralData>

</wps:Data>
</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

243
Spatial Extension for GeoServer WPS 1.0

◼ Response

The result of splitting the line layer into point layers.

244
Spatial Extension for GeoServer WPS 1.0

4.2.9.16. Split Line at Vertices

Creates a line feature layer that is divided by vertices.


◼ Syntax

SplitLineAtVertices (SimpleFeatureCollection lineFeatures): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


lineFeatures The line or polygon features that will be splitted. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output line features. Complex ✓

◼ Constraints

- The inputFeatures parameter should be a line or polygon layer.


◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:SplitLineAtVertices</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>lineFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>
<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:randomsgg" />

245
Spatial Extension for GeoServer WPS 1.0

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.1">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of converting the boundary of a polygon feature to a line feature per vertex.
246
Spatial Extension for GeoServer WPS 1.0

4.2.9.17. Split Line by Distance Expression


Creates a line feature layer that is divided by the distance you set.
◼ Syntax

SplitLineByDistance (SimpleFeatureCollection lineFeatures, Expression distance):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


lineFeatures The line features that will be splitted. Complex ✓
distance Field or Expression representing distance. Literal ✓

◼ Process Outputs

Identifier Description Type Required


result Output line features. Complex ✓

◼ Constraints

- The inputFeatures parameter should be a line or polygon layer.


- The distance parameter can be a field or a Function Expression expression.
◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:SplitLineByDistance</ows:Identifier>

<wps:DataInputs>
<wps:Input>

<ows:Identifier>lineFeatures</ows:Identifier>

247
Spatial Extension for GeoServer WPS 1.0

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:randomsgg" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>distance</ows:Identifier>

<wps:Data>

<wps:LiteralData>100</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.1">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of dividing the boundary of the polygon feature into lines of 100 meters
apart.
248
Spatial Extension for GeoServer WPS 1.0

4.2.9.18. Intersection Points from Lines


Two polygons or line input feature layers Converts the node where each line intersects to a
point.
◼ Syntax

IntersectionPoints (SimpleFeatureCollection inputFeatures, SimpleFeatureCollection

intersectFeatures, String intersectIDField): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features that can be line or polygon type. Complex ✓
intersectFeatures Intersect that can be line or polygon type. Complex ✓
intersectIDField Intersect id field. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures, intersectFeatures Feature layers can be both Line and Polygon.


- The output layer contains all the field values of inputFeatures, and if intersectIDField is set

In this case, the value of intersectFearures is added.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:IntersectionPoints</ows:Identifier>

249
Spatial Extension for GeoServer WPS 1.0

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:randomsgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>intersectFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:line"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of analysis between polygon and line feature layer.


250
Spatial Extension for GeoServer WPS 1.0
251
Spatial Extension for GeoServer WPS 1.0

4.2.9.19. Create Flow Map from Line Features


Create a Polygon Flow Map feature layer using a line feature layer consisting of Origin-
Destination and attribute values for it.
◼ Syntax

FlowMap (SimpleFeatureCollection lineFeatures, Expression odValue, Expression doValue,

Double maxSize): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


lineFeatures The input line features. Complex ✓
The o-d value expression.
odValue Literal ✓
Ex) [field] or [field] * 0.5 etc...
The d-o value expression.
doValue Literal -
Ex) [field] or [field] * 0.5 etc...
maxSize The maximum arrow size. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output polygon features. Complex ✓

◼ Constraints

- The lineFeatures parameter must be a line layer.


- If the maxSize parameter is Null or 0, then the width and height of the extents

in lineFeatures, whichever is smaller, are divided by 20.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"
252
Spatial Extension for GeoServer WPS 1.0

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:FlowMap</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>lineFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:od_flow"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>odValue</ows:Identifier>

<wps:Data>

<wps:LiteralData>o_d</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>maxSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>2500</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>
◼ Response

This is the result of generating the Flow Map using the Seoul municipal population moving
data.

253
Spatial Extension for GeoServer WPS 1.0
254
Spatial Extension for GeoServer WPS 1.0

4.2.9.20. Feature To Octagonal Envelope


Converts to the minimum bounding octagonal polygon that surrounds each feature in the
feature layer.
◼ Syntax

FeatureToOctagonalEnvelope (SimpleFeatureCollection inputFeatures, Boolean singlePart):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The input features that can be multipoint, line,
inputFeatures Complex ✓
polygon.

Specifies whether to use one circle for each entire

singlePart multipart feature or one circle per part of a multipart Literal -

feature.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures can be point, line, or polygon.


- If singlePart is True and the Geometry is MultiPart, the Geometry of all Part

Conversion.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

255
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>statistics: FeatureToOctagonalEnvelope</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of converting the polygon feature to the minimum bounding octagonal polygon.
256
Spatial Extension for GeoServer WPS 1.0
257
Spatial Extension for GeoServer WPS 1.0

4.2.9.21. Feature To Minimum Rectangle


Converts to the minimum bounding rectangle polygon that surrounds each feature in the
feature layer.
◼ Syntax

FeatureToMinimumRectangle (SimpleFeatureCollection inputFeatures, Boolean singlePart):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The input features that can be multipoint, line,
inputFeatures Complex ✓
polygon.

Specifies whether to use one circle for each entire

singlePart multipart feature or one circle per part of a multipart Literal -

feature.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures can be point, line, or polygon.


- If singlePart is True and the Geometry is MultiPart, the Geometry of all Part

Conversion.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

258
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>statistics: FeatureToMinimumRectangle</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of converting the polygon feature to the minimum bounding rectangle.
259
Spatial Extension for GeoServer WPS 1.0

4.2.9.22. Feature To ConvexHull

Converts each feature into a convex hull polygon that surrounds the feature layer.
◼ Syntax

FeatureToConvexHull (SimpleFeatureCollection inputFeatures, Boolean singlePart):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The input features that can be multipoint, line,
inputFeatures Complex ✓
polygon.

Specifies whether to use one circle for each entire

singlePart multipart feature or one circle per part of a multipart Literal -

feature.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures are available for points, lines, and polygons.


- If singlePart is True and the Geometry is MultiPart, the Geometry of all Part

Conversion.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

260
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>statistics: FeatureToConvexHull</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of converting the polygon feature to ConvexHull.


261
Spatial Extension for GeoServer WPS 1.0

4.2.9.23. Feature To Minimum Bounding Circle


Converts to the minimum boundary polygon that surrounds each feature in the feature layer.
◼ Syntax

FeatureToMinimumBoundingCircle (SimpleFeatureCollection inputFeatures, Boolean

singlePart): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The input features that can be multipoint, line,
inputFeatures Complex ✓
polygon.

Specifies whether to use one circle for each entire

singlePart multipart feature or one circle per part of a multipart Literal -

feature.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures can be point, line, or polygon.

- If singlePart is True and the Geometry is MultiPart, the Geometry of all Part

Conversion.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

262
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>statistics:FeatureToMinimumBoundingCircle</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of converting the polygon feature to the Minimum Bounding Circle.
263
Spatial Extension for GeoServer WPS 1.0

4.2.9.24. Geometry to Features

Converts geometry to feature layer.

◼ Syntax

GeometryToFeatures (Geometry geometry, CoordinateReferenceSystem crs, String

typeName, Boolean singlePart): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


geometry The input geometry. Complex ✓
crs Coordinate reference system of the input geometry. Literal -
typeName Feauturetype name for the features. Literal -
singlePart Split multipart geometry to single part. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- Geometry is available for points, lines, and polygons.


- If singlePart is True and the Geometry is MultiPart, then the Geometry of all Part

is converted.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:GeometryToFeatures</ows:Identifier>

264
Spatial Extension for GeoServer WPS 1.0

<wps:DataInputs>

<wps:Input>

<ows:Identifier>geometry</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="application/wkt"><![CDATA[POINT(127

38)]]></wps:ComplexData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>crs</ows:Identifier>

<wps:Data>

<wps:LiteralData>EPSG:4326</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="application/json">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
The result of converting polygon layer extents to polygon features.
265
Spatial Extension for GeoServer WPS 1.0

4.2.9.25. Reproject

Converts the coordinate system of the

feature layer.

◼ Syntax

Reproject (SimpleFeatureCollection inputFeatures, CoordinateReferenceSystem forcedCRS,

CoordinateReferenceSystem targetCRS): SimpleFeatureCollection

◼ Parameters
Identifier Description Type Required
inputFeatures
◼ Data Inputs The input features that will be reprojected. Complex ✓
forcedCRS Coordinate reference system to use for input features. Literal -
Target coordinate reference system to use for
targetCRS Literal -
reprojection.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If targetCRS is null, it returns inputFeatures.


- If forcedCRS is Null, use CRS of inputFeatures, and if inputFeatures

If the coordinate system is not defined, it returns inputFeatures.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:Reproject</ows:Identifier>

<wps:DataInputs>

266
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:emd"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>targetCRS</ows:Identifier>

<wps:Data>

<wps:LiteralData>EPSG:5186</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

None
267
Spatial Extension for GeoServer WPS 1.0

4.3. Raster Analysis


Process group associated with raster analysis and processing.
4.3.1. Descriptive
It consists of processes that calculate the basic statistics on the raster's property values.
4.3.1.1. Basic Statistics

Set the raster layer and specific areas to analyze the basic statistics (Sum, Minimum, Maximum,
Mean, Standard Deviation, etc.) for raster cell values contained in the area.
◼ Syntax

StatisticsGridCoverage (GridCoverage2D inputCoverage, Geometry cropShape, Integer

bandIndex): DataStatisticsResult

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input gridcoverage to be calculated. Complex ✓
cropShape The Polygon or MultiPolygon to crop gridcoverage. Complex -
bandIndex The zero-based band index, default index is a 0. Literal -

◼ Process Outputs

Identifier Description Type Required


result Result Statistics. Complex ✓

◼ Constraints

- If cropShape is Null, create statistics for all cells in the input raster.

- The geometry type of cropShape must be Polygon or MultiPolygon.


- bandIndex is the zero-base and 0 is the default.
- Output is returned in XML.
268
Spatial Extension for GeoServer WPS 1.0

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:StatisticsGridCoverage</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<gml:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#5181">

<ows:LowerCorner>179171.39881047895 436569.3290600816</ows:LowerCorner>

<ows:UpperCorner>216221.0981287582 466869.08315843146</ows:UpperCorner>

</gml:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>cropShape</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="application/wkt"><![CDATA[POLYGON

((……………………………………))]]></wps:ComplexData>
</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

269
Spatial Extension for GeoServer WPS 1.0

◼ Response

<?xml version="1.0" encoding="utf-8"?>

<DataStatistics>

<Item>

<TypeName>dem</TypeName>

<PropertyName>Value</PropertyName>

<Count>678064</Count>

<InvalidCount>0</InvalidCount>

<Minimum>1.0</Minimum>

<Maximum>754.0</Maximum>

<Range>753.0</Range>

<Ranges>1.0 - 754.0</Ranges>

<Sum>4.2785658E7</Sum>

<Mean>63.09973394841785</Mean>

<Variance>7285.154424054373</Variance>

<StandardDeviation>85.35311607700315</StandardDeviation>

<CoefficientOfVariance>1.3526699834705607</CoefficientOfVariance>

<NoData class="double">-9999</NoData>

</Item>

</DataStatistics>
270
Spatial Extension for GeoServer WPS 1.0

4.3.1.2. Histogram
Set raster layers and specific regions to extract raster cell unique values and

frequencies contained within the region.

◼ Syntax

HistogramGridCoverage (GridCoverage2D inputCoverage, Geometry cropShape, Integer

bandIndex): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input gridcoverage to be calculated. Complex ✓
cropShape The Polygon or MultiPolygon to crop gridcoverage. Complex -
bandIndex The zero-based band index, default index is a 0. Literal -

◼ Process Outputs

Identifier Description Type Required


result Result Statistics. Complex ✓

◼ Constraints

- The geometry type of cropShape must be Polygon or MultiPolygon.


- bandIndex is the zero-base and 0 is the default.
- Output is returned in XML.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

271
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>statistics:HistogramGridCoverage</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:landuse</ows:Identifier>

<wcs:DomainSubset>

<gml:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#5181">

<ows:LowerCorner>179171.39881047895 436569.3290600816</ows:LowerCorner>

<ows:UpperCorner>216221.0981287582 466869.08315843146</ows:UpperCorner>

</gml:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>cropShape</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="application/wkt"><![CDATA[MULTIPOLYGON

(((202045.8134286803 451170.87479061395, 202045.8134286803 456372.83051287895,

206947.46547550958 456372.83051287895, 206947.46547550958 451170.87479061395,

202045.8134286803 451170.87479061395)))]]></wps:ComplexData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>
</wps:Execute>

◼ Response

Clusters of specific areas of a raster layer with grades such as national environmental

The result I wrote. Because the number of cells for each value is returned, multiplying by one
cell area (CellSize * CellSize) yields the area for each cell.
272
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="utf-8"?>

<Histogram>

<TypeName>landuse</TypeName>

<PropertyName>Value</PropertyName>

<Area>25498176.913556</Area>

<CellSize>30.0</CellSize>

<HistogramItem>

<Value>1</Value>

<Frequency>876</Frequency>

</HistogramItem>

<HistogramItem>

<Value>2</Value>

<Frequency>543</Frequency>

</HistogramItem>

<HistogramItem>

<Value>3</Value>

<Frequency>292</Frequency>

</HistogramItem>

<HistogramItem>

<Value>4</Value>

<Frequency>1345</Frequency>

</HistogramItem>

<HistogramItem>

<Value>5</Value>

<Frequency>765</Frequency>

</HistogramItem>

</Histogram>
273
Spatial Extension for GeoServer WPS 1.0

4.3.1.3. Raster Descrption

Checks metadata information in the raster layer and returns it as XML.


◼ Syntax

RasterDescribe (GridCoverage2D inputCoverage, Boolean detailed): RasterDescribeResult

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input gridcoverage to be described. Complex ✓
Specify whether to calculate statistics. The default
detailed Literal -
value is false.

◼ Process Outputs

Identifier Description Type Required


result Result Statistics. Complex ✓

◼ Constraints

- If detailed is true, basic statistics information for each band is calculated and returned.
- Output is returned in XML.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterDescribe</ows:Identifier>

<wps:DataInputs>
<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

274
Spatial Extension for GeoServer WPS 1.0

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

<?xml version="1.0" encoding="UTF-8"?>

<RasterDescription>

<Name>seoul_dem30</Name>

<Columns>1556</Columns>

<Rows>1279</Rows>

<NumberOfBands>1</NumberOfBands>

<CellSizeX>29.998701738731725</CellSizeX>

<CellSizeY>30.001479578692326</CellSizeY>

<PixelType>UNSIGNED_16BITS</PixelType>
<PixelDepth>16BITS</PixelDepth>

<NoData>0.0</NoData>

<Extent>

<XMin>1.4111343323506365E7</XMin>

<YMin>4498971.750719266</YMin>

<XMax>1.4158021303411832E7</XMax>

<YMax>4537343.6431004135</YMax>

</Extent>

<SpatialReference>PROJCS["WGS 84 / Pseudo-Mercator", &#13;

275
Spatial Extension for GeoServer WPS 1.0

GEOGCS["WGS 84", &#13;

DATUM["World Geodetic System 1984", &#13;

SPHEROID["WGS 84", 6378137.0, 298.257223563, AUTHORITY["EPSG","7030"]], &#13;

AUTHORITY["EPSG","6326"]], &#13;

PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]], &#13;

UNIT["degree", 0.017453292519943295], &#13;

AXIS["Geodetic longitude", EAST], &#13;

AXIS["Geodetic latitude", NORTH], &#13;

AUTHORITY["EPSG","4326"]], &#13;

PROJECTION["Popular Visualisation Pseudo Mercator", AUTHORITY["EPSG","1024"]], &#13;

PARAMETER["semi_minor", 6378137.0], &#13;

PARAMETER["latitude_of_origin", 0.0], &#13;

PARAMETER["central_meridian", 0.0], &#13;

PARAMETER["scale_factor", 1.0], &#13;

PARAMETER["false_easting", 0.0], &#13;

PARAMETER["false_northing", 0.0], &#13;

UNIT["m", 1.0], &#13;

AXIS["Easting", EAST], &#13;

AXIS["Northing", NORTH], &#13;

AUTHORITY["EPSG","3857"]]

</SpatialReference>

<Band>

<BandIndex>0</BandIndex>

<Description>GRAY_INDEX</Description>

<Count>1068918</Count>

<Minimun>1.0</Minimun>

<Maximin>754.0</Maximin>

<Mean>61.70939866294702</Mean>

<Sum>6.5962287E7</Sum>

<Variance>6771.511633069396</Variance>

<StandardDeviation>82.2891951173992</StandardDeviation>

<NoData>0.0</NoData>

</Band>

</RasterDescription>
276
Spatial Extension for GeoServer WPS 1.0

4.3.2. Conversion
It consists of conversion processes between vector data and raster data.
4.3.2.1. Features To Raster

Converts point, line, and polygon feature layers to raster.


◼ Syntax

FeaturesToRaster (SimpleFeatureCollection inputFeatures, String inputField, Double

cellSize, ReferencedEnvelope extent): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The input feature dataset to be converted to a
inputFeatures Complex ✓
raster.

inputField The field used to assign values to the output raster. Literal -
cellSize The cell size for the output raster. Literal -
extent The extent for the output raster. Complex -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The inputField parameter must be a Numeric field or a constant value.


- If you do not set the extent parameter, use the range of inputFeatures.
- If you do not set the cellSize parameter, use the value of the Extent's Width and Height,
whichever is smaller, divided by 250.
◼ Request Examples

277
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:FeaturesToRaster</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>pop_den</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>cellSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>30</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>
<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

278
Spatial Extension for GeoServer WPS 1.0

Polygon The result of converting the geometry to raster data.

279
Spatial Extension for GeoServer WPS 1.0

4.3.2.2. Points To Raster


Converts to a raster using the cell value assignment method with the point feature layer set.
◼ Syntax

PointsToRaster (SimpleFeatureCollection inputFeatures, String inputField,

PointAssignmentType cellAssignment, Double cellSize, ReferencedEnvelope extent):

GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The point or multipoint input feature dataset to be
inputFeatures Complex ✓
converted to a raster.

inputField The field used to assign values to the output raster. Literal ✓
The method to determine how the cell will be

cellAssignment assigned a value when more than one feature falls Literal -

within a cell.
cellSize The cell size for the output raster. Literal -
extent The extent for the output raster. Complex -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The inputFeatures parameter must be a Point or MultiPoit feature type.


- The inputField parameter must be a Numeric field or a value (a constant value).
- If you do not set the extent parameter, use the range of the inputGeometry.
- If the cellSize parameter is not set, the width and height of the Extent, whichever is smaller

The value divided by 250 is used.

280
Spatial Extension for GeoServer WPS 1.0

- The cellAssignment parameter defines how cell values are assigned when more than

one point is nested in a cell. The following options are available:

option Explanation
MostFrequent Frequency, number of frequencies, and

order of features Sum sum

Mean

Averag

e Maximum

Maxim

um value Minimum

Minim

um value Range range

Count Number of points, force assignment even if not numeric field

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:PointsToRaster</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:pubs"/>

</wfs:GetFeature>
</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>gid</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>cellAssignment</ows:Identifier>

281
Spatial Extension for GeoServer WPS 1.0

<wps:Data>

<wps:LiteralData>Count</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>cellSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>30</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Polygon The result of converting the geometry to raster data.


282
Spatial Extension for GeoServer WPS 1.0

4.3.2.3. Geometry To Raster

Converts a geometry to a raster.

◼ Syntax

GeometryToRaster (Geometry inputGeometry, CoordinateReferenceSystem forcedCRS,

Number defaultValue, RasterPixelType pixelType, Double cellSize, ReferencedEnvelope

extent): GridCoverage2D

◼ Parameters

Identifier
◼ Data Inputs Description Type Required
The input geometry to be converted to a raster
inputGeometry Complex ✓
dataset.

Coordinate reference system to use for input


forcedCRS Literal -
geometry.

defaultValue The default value for the output pixel: 1(default). Literal -
pixelType The pixel type for the output raster. Literal -
cellSize The cell size for the output raster. Literal -
extent The extent for the output raster. Complex -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- If the forcedCRS parameter is Null, use the CRS value of the inputGeometry,

and then set the CRS of the inputGeometry.

- If the defaultValue parameter is null, the default value is 1 (Integer).


- If the pixelType parameter is null, the default is Integer.
- The pixelType parameter can use the values BYTE, SHORT, INTEGER, FLOAT, and DOUBLE.
283
Spatial Extension for GeoServer WPS 1.0

- If you do not set the extent parameter, use the range of the inputGeometry.

- If the cellSize parameter is not set, the width and height of the Extent, whichever is smaller

The value divided by 250 is used.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:GeometryToRaster</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputGeometry</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="application/wkt"><![CDATA[POLYGON ((14134957.759521019

4527300.782425176, ... 14134957.759521019 4527300.782425176))]]></wps:ComplexData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>forcedCRS</ows:Identifier>

<wps:Data>

<wps:LiteralData>EPSG:3857</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>defaultValue</ows:Identifier>

<wps:Data>

<wps:LiteralData>1</wps:LiteralData>

</wps:Data>
</wps:Input>

<wps:Input>

<ows:Identifier>pixelType</ows:Identifier>

<wps:Data>

<wps:LiteralData>INTEGER</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

284
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>cellSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>50</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Polygon The result of converting the geometry to raster data.


285
Spatial Extension for GeoServer WPS 1.0

4.3.2.4. Raster To Point


Converts a layer to a point layer.
◼ Syntax

RasterToPoint (GridCoverage2D inputCoverage, Integer bandIndex, String valueField):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputCoverage The input gridcoverage to be converted. Complex ✓
bandIndex The zero-based band index, default index is 0. Literal -
The field used to assign values from the cells.
valueField Literal -
Default i s value.

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- If valueField is null, the default value is field named value.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterToPoint</ows:Identifier>

<wps:DataInputs>
<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

286
Spatial Extension for GeoServer WPS 1.0

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body/>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>valueField</ows:Identifier>

<wps:Data>

<wps:LiteralData>val</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of converting raster data to points.


287
Spatial Extension for GeoServer WPS 1.0
288
Spatial Extension for GeoServer WPS 1.0

4.3.2.5. Raster to Polygon

Converts a raster layer to a polygon layer.


◼ Syntax

RasterToPolygon (GridCoverage2D inputCoverage, Integer bandIndex, Boolean weeding,

String valueField): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputCoverage The input gridcoverage to be converted. Complex ✓
bandIndex The zero-based band index, default index is 0. Literal -
Determines if the output polygons will be smoothed
weeding Literal -
into simpler shapes. Default is False.
The field used to assign values from the cells.
valueField Literal -
Default i s value.

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- If weeding is true, we simplify it using the Douglas-Puecker algorithm.

Tolerance is sqrt (0.5) * cell size.

- If valueField is null, the default value is field named value.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"
289
Spatial Extension for GeoServer WPS 1.0

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterToPolygon</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>weeding</ows:Identifier>

<wps:Data>

<wps:LiteralData>True</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>
◼ Response

It is the result of extracting more than 250 meters above sea level from the DEM layer and
converting it to polygon.

290
Spatial Extension for GeoServer WPS 1.0
291
Spatial Extension for GeoServer WPS 1.0

4.3.2.6. Raster to Image

Converts raster layers to images using WMS parameters.


◼ Syntax

RasterToImage (GridCoverage2D coverage, String bbox, CoordinateReferenceSystem crs,

Style style, Integer width, Integer height, String format, Boolean transparent, String

bgColor): Image

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
coverage The input gridcoverage to be converted. Complex ✓
Bounding box corners (lower left, upper right): minx,
bbox Literal -
miny, maxx, maxy.
crs CRS for Bounding Box. Ex) EPSG:3857 Literal -
Styled Layer Descriptor (SLD) style containing a
style Complex -
raster symbolizer.
width Image width in pixels of resulting map. Literal ✓
height Image height in pixels of resulting map. Literal ✓
Output format of map. Valid values are image/jpeg,
format Literal -
image/png (Default), and image/gif.
transparent Map background transparency. Default is True. Literal -
Hexidecimal red-blue-green color value for the map
bgColor Literal -
background color. Default is 0xFFFFFF (white).

◼ Process Outputs

Identifier Description Type Required


result Output image. Complex ✓

◼ Constraints

- If the bbox and crs parameters are null, the coverage extents and coordinate system are
used.
- If the style parameter is null, the Equal Interval Style with minimum / maximum values To
be applied.
292
Spatial Extension for GeoServer WPS 1.0

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterToImage</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>coverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>width</ows:Identifier>

<wps:Data>

<wps:LiteralData>500</wps:LiteralData>

</wps:Data>
</wps:Input>

<wps:Input>

<ows:Identifier>height</ows:Identifier>

<wps:Data>

<wps:LiteralData>400</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>format</ows:Identifier>

<wps:Data>

293
Spatial Extension for GeoServer WPS 1.0

<wps:LiteralData>image/png</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>transparent</ows:Identifier>

<wps:Data>

<wps:LiteralData>True.</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/png">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of requesting a DEM layer of Seoul with an image of 500 pixels wide by 400
pixels high. The requested result can be added to the image layer in OpenLayers.
294
Spatial Extension for GeoServer WPS 1.0

4.3.3. Distance

It consists of distance and proximity analysis processes using vector and raster data.
4.3.3.1. Euclidean Distance

Create a raster dataset based on Euclidean distance between each cell and feature.
◼ Syntax

EuclideanDistance (SimpleFeatureCollection inputFeatures, Double maximumDistance,

Double cellSize, ReferencedEnvelope extent): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The input features for which to calculate the
inputFeatures Complex ✓
distance.

Defines the threshold that the accumulative distance


maximumDistance Literal -
values cannot exceed.

cellSize The cell size for the output raster. Literal -


extent The extent for the output raster. Complex -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- When the maximumDistance parameter is set, areas above the set distance will be

assigned the No Data value.

- If you do not set the extent parameter, use the range of the inputFeatures layer.
- If you do not set the cellSize parameter, use the value of the Extent's Width

and Height, whichever is smaller, divided by 250.

◼ Request Examples
295
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:EuclideanDistance</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:stores"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>maximumDistance</ows:Identifier>

<wps:Data>

<wps:LiteralData>2500</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>cellSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>30</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>
<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

296
Spatial Extension for GeoServer WPS 1.0

The result of Euclidean Distance analysis with maximum distance of 2.5km and cell size of 30m
using Seoul store location data.

297
Spatial Extension for GeoServer WPS 1.0

4.3.4. Math

The process consists of creating a new raster using a filter or formula.


4.3.4.1. Math Operation
Use the formula to create a new raster.
◼ Syntax

RasterMath (GridCoverage2D inputCoverage, Integer bandIndex, Expression expression):

GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input raster to be calculated. Complex ✓
bandIndex The zero-based band index, default index is a 0. Literal -
A mathematical expression that evaluates raster cells.
expression Literal ✓
Ex> log(Value * 250)

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The functions available in the expression parameter use the Filter Function11 of

GeoTools.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

11
http://docs.geoserver.org/stable/en/user/filter/function_reference.html
298
Spatial Extension for GeoServer WPS 1.0

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterMath</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>cite:dem05</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#5181">

<ows:LowerCorner>321541.5348100797 235208.86605789233</ows:LowerCorner>

<ows:UpperCorner>359950.1365611528 281299.18815918005</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>bandIndex</ows:Identifier>

<wps:Data>

<wps:LiteralData>0</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>expression</ows:Identifier>

<wps:Data>
<wps:LiteralData>log(Value * 250)</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

299
Spatial Extension for GeoServer WPS 1.0

◼ Response

It is the result of applying log (Value * 250) calculation formula in DEM raster data of Seoul
city.
300
Spatial Extension for GeoServer WPS 1.0

4.3.4.2. Set Null


Converts the cell value corresponding to the filter condition to a NoData value, or replaces an
existing NoData value with another value.
◼ Syntax

RasterSetNull (GridCoverage2D inputCoverage, Integer bandIndex, Filter filter, Boolean

replaceNoData, Double newValue): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input raster to be evaluated. Complex ✓
bandIndex The zero-based band index, default index is a 0. Literal -
A logical expression that determines which of the
filter Literal ✓
input cells are to be nodata. ex> Value > 250
If true, nodata value will be replaced as a newValue
replaceNoData Literal
parameter. Default is False.
newValue The new valid value to replace nodata. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The field name of the filter parameter must be Value.


- If the value of the replaceNoData parameter is True, replace the existing NoData value
with newValue

Replace with the parameter value.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"
xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

301
Spatial Extension for GeoServer WPS 1.0

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterSetNull</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>cite:dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#5181">

<ows:LowerCorner>322223.9108718962 235108.16003333713</ows:LowerCorner>

<ows:UpperCorner>360624.44972726464 281188.51233892346</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>bandIndex</ows:Identifier>

<wps:Data>

<wps:LiteralData>0</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>filter</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="text/plain; subtype=cql"><![CDATA[Value >

250]]></wps:ComplexData>
</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

302
Spatial Extension for GeoServer WPS 1.0

◼ Response

It is the result of processing NoData in areas with a value of 50 or more in Seoul DEM raster
data.
303
Spatial Extension for GeoServer WPS 1.0

4.3.4.3. NDVI
Calculates the Normalized Difference Vegetation Index (NDVI)
from two raster bands.
◼ Syntax

RasterNDVI (GridCoverage2D nirCoverage, Integer nirIndex, GridCoverage2D

redCoverage, Integer redIndex): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


nirCoverage The near infrared band raster. Complex ✓
nirIndex The zero-based band index, default index is a 0. Literal -
redCoverage The visible red band raster. Complex ✓
redIndex The zero-based band index, default index is a 0. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- If one of the two cell values is NoData, it returns NoData value.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterNDVI</ows:Identifier>

<wps:DataInputs>

304
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>nirCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>nir</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>nirIndex</ows:Identifier>

<wps:Data>

<wps:LiteralData>0</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>redCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>red</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111283326102886E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158051302113568E7 4537343.6431004135</ows:UpperCorner>
</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>redIndex</ows:Identifier>

<wps:Data>

305
Spatial Extension for GeoServer WPS 1.0

<wps:LiteralData>0</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of processing NoData in areas with a value of 50 or more in Seoul DEM raster
data.
306
Spatial Extension for GeoServer WPS 1.0

4.3.5. Classification
It consists of processes that reclassify raster values into a range of values.
4.3.5.1. Reclass
Reclass the raster data to the given range and the value assigned to each range.
◼ Syntax

RasterReclass (GridCoverage2D inputCoverage, Integer bandIndex, String ranges):

GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input raster to be reclassified. Complex ✓
bandIndex The zero-based band index, default index is a 0. Literal -
Ranges that defines how the values will be
ranges Literal ✓
reclassified. ex) 0.0 30.0 1; 30.0 270.0 2; 270.0 365.0 3

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- Values in the ranges parameter range are treated as NoData values.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:RasterReclass</ows:Identifier>

307
Spatial Extension for GeoServer WPS 1.0

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>ranges</ows:Identifier>

<wps:Data>

<wps:LiteralData>0.1 30.0 1; 30.0 200.0 2; 200.0 500.0 3</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
For DEM layer in Seoul, 0.1 ~ 30.0 is 1 value, 30.0 ~ 200.0 is 2 value, and 200.0 ~ 500.0 is 3
value

Reclass results.

308
Spatial Extension for GeoServer WPS 1.0
309
Spatial Extension for GeoServer WPS 1.0

4.3.6. Management

It is a tool that provides processing functions such as rotating, reversing, moving, and scaling
raster data.

4.3.6.1. Flip
Adjusts the direction of the raster by flipping it from top to bottom along the horizontal axis
with respect to the center of the raster.
◼ Syntax

RasterFlip (GridCoverage2D inputCoverage): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input raster to be converted. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:RasterFlip</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

310
Spatial Extension for GeoServer WPS 1.0

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Original raster (left) and Flip raster (right) results.


311
Spatial Extension for GeoServer WPS 1.0

4.3.6.2. Mirror
Changes the direction of the raster from left to right along the vertical axis relative to the
center of the raster.
◼ Syntax

RasterMirror (GridCoverage2D inputCoverage): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input raster to be converted. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterMirror</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>
<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

312
Spatial Extension for GeoServer WPS 1.0

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result is the original raster (left) and the mirrored raster (right).
313
Spatial Extension for GeoServer WPS 1.0

4.3.6.3. Rescale
Resizes the raster to the specified x, y scale values.
◼ Syntax

RasterRescale (GridCoverage2D inputCoverage, Double xScale, Double yScale):

GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputCoverage The input raster from which cells will be extracted. Complex ✓
The factor in which to scale the cell size in the x
xScale Literal -
direction. The factor must be greater than zero.
The factor in which to scale the cell size in the y
yScale Literal -
direction. The factor must be greater than zero.

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The value of the xScale, yScale parameter must be greater than zero.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterRescale</ows:Identifier>

<wps:DataInputs>
<wps:Input>

314
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>xScale</ows:Identifier>

<wps:Data>

<wps:LiteralData>1.5</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>yScale</ows:Identifier>

<wps:Data>

<wps:LiteralData>1.5</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>
</wps:Execute>

◼ Response

It is a result of rescale 1.5 times in X, Y axis from original raster (left) (right).

315
Spatial Extension for GeoServer WPS 1.0
316
Spatial Extension for GeoServer WPS 1.0

4.3.6.4. Rotate

Rotates the raster by the angle value specified in degrees around the specified pivot point.
◼ Syntax

RasterRotate (GridCoverage2D inputCoverage, Point anchorPoint, Double angle,

ResampleType interpolation): GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputCoverage The input raster to be converted. Complex ✓
The pivot point around which to rotate the raster.

anchorPoint The default is the lower left corner of the input Complex -

raster dataset.
angle The angle in degrees to rotate the raster. Literal ✓
The resampling algorithm to be used. The default is
interpolation Literal -
NEAREST.

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- If the anchorPoint parameter is Null, it refers to the lower left corner of the raster extent.
- The unit of angle parameter is in degrees.
- The interpolation parameter can use NEAREST (default), BILINEAR, BICUBIC

options.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"
317
Spatial Extension for GeoServer WPS 1.0

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterRotate</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>angle</ows:Identifier>

<wps:Data>

<wps:LiteralData>45</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>interpolation</ows:Identifier>

<wps:Data>

<wps:LiteralData>NEAREST</wps:LiteralData>

</wps:Data>
</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

318
Spatial Extension for GeoServer WPS 1.0

◼ Response

It is a result of 45 degrees rotation (right) based on the center point of the original raster (left).

319
Spatial Extension for GeoServer WPS 1.0

4.3.6.5. Shift

Moves the raster to a new geographic location based on the x, y move values.

◼ Syntax

RasterShift (GridCoverage2D inputCoverage, Double xShift, Double yShift):

GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input raster to be converted. Complex ✓
xShift The value used to shift the x coordinates. Literal -
yShift The value used to shift the y coordinates. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- Move to the right if xShift parameter value is greater than 0, or to the left if it is smaller.
- If the value of the yShift parameter is greater than 0, move to the top, and to the bottom.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:RasterShift</ows:Identifier>

<wps:DataInputs>

<wps:Input>

320
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>xShift</ows:Identifier>

<wps:Data>

<wps:LiteralData>15000</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of processing NoData in areas with a value of 50 or more in Seoul DEM raster
data.
321
Spatial Extension for GeoServer WPS 1.0
322
Spatial Extension for GeoServer WPS 1.0

4.3.7. Extraction

It consists of processes to extract raster using Geometry, Extent and so on.


4.3.7.1. Extract by Attributes

Extracts a raster that matches a space or attribute filter condition.


◼ Syntax

RasterExtraction (GridCoverage2D inputCoverage, Integer bandIndex, Filter filter):

GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input raster from which cells will be extracted. Complex ✓
bandIndex The zero-based band index, default index is a 0. Literal -
A logical expression that selects a subset of raster
filter Complex ✓
cells. ex> Value > 250

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The field name of the filter parameter must be Value.


- The field name of the filter parameter must be Value.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
323
Spatial Extension for GeoServer WPS 1.0

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterExtraction</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body/>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>filter</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="text/xml; subtype=filter/1.0"><![CDATA[Value >

250]]></wps:ComplexData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of extracting the area (value> = 250) where the cell value is 250 or more from the
raster data.
324
Spatial Extension for GeoServer WPS 1.0
325
Spatial Extension for GeoServer WPS 1.0

4.3.7.2. Extract by Extent


Set the Envelope to extract the intersecting raster data.
◼ Syntax

RasterClipByExtent (GridCoverage2D inputCoverage, ReferencedEnvelope extent):

GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input gridcoverage to be clipped. Complex ✓
extent The Reference envelope to clip gridcoverage. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The Extent parameter is of type BoundingBoxData and has the following values: crs,
dimensions,

LowerCorner, UpperCorner.
<wps:Data>

<wps:BoundingBoxData crs="EPSG:3857" dimensions="2">

<ows:LowerCorner>0.0 0.0</ows:LowerCorner>

<ows:UpperCorner>1.0 1.0</ows:UpperCorner>

</wps:BoundingBoxData>

</wps:Data>

◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

326
Spatial Extension for GeoServer WPS 1.0

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterClipByExtent</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<gml:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#5181">

<ows:LowerCorner>179171.39881047895 436569.3290600816</ows:LowerCorner>

<ows:UpperCorner>216221.0981287582 466869.08315843146</ows:UpperCorner>

</gml:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>cropShape</ows:Identifier>

<wps:Data>

<wps:BoundingBoxData crs="EPSG:5181" dimensions="2">

<ows:LowerCorner>196200.93382496 446742.832084541</ows:LowerCorner>

<ows:UpperCorner>200948.405261965 450277.401141511</ows:UpperCorner>

</wps:BoundingBoxData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>
<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

327
Spatial Extension for GeoServer WPS 1.0

BoundingBox (MinX, MinY, MaxX, MaxY, CRS) This is the result of raster cell extraction by
setting the area.

328
Spatial Extension for GeoServer WPS 1.0

4.3.7.3. Extract by Geometry


Polygon Sets the geometry to extract the intersecting raster data.
◼ Syntax

RasterClipByGeometry (GridCoverage2D inputCoverage, Geometry cropShape):

GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input gridcoverage to be clipped. Complex ✓
cropShape The Polygon or MultiPolygon to clip gridcoverage. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The geometry type of cropShape must be Polygon or MultiPolygon.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterClipByGeometry</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>
<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

329
Spatial Extension for GeoServer WPS 1.0

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<gml:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#5181">

<ows:LowerCorner>179171.39881047895 436569.3290600816</ows:LowerCorner>

<ows:UpperCorner>216221.0981287582 466869.08315843146</ows:UpperCorner>

</gml:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>cropShape</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="application/wkt"><![CDATA[MULTIPOLYGON (((206338 456264,

………….., 206338 456264)))]]></wps:ComplexData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of setting the Polygon or MultiPolygon Geometry to extract the raster cells.
330
Spatial Extension for GeoServer WPS 1.0
331
Spatial Extension for GeoServer WPS 1.0

4.3.7.4. Extract by Circle


Sets a circle based on the center point and radius to extract the intersecting raster data.
◼ Syntax

RasterClipByCircle (GridCoverage2D inputCoverage, Geometry center, Double radius,

Boolean inside): GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputCoverage The input gridcoverage to be clipped. Complex ✓
The center point of the circle defining the area to be
center Complex ✓
extracted.

radius Radius of the circle defining the area to be extracted. Literal ✓


inside Default is True Literal -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- If the Inside parameter is False, returns the area excluding the circle.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:RasterClipByCircle</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

332
Spatial Extension for GeoServer WPS 1.0

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<gml:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#5181">

<ows:LowerCorner>179171.39881047895 436569.3290600816</ows:LowerCorner>

<ows:UpperCorner>216221.0981287582 466869.08315843146</ows:UpperCorner>

</gml:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>center</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="application/wkt"><![CDATA[POINT(197598

451746)]]></wps:ComplexData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>radius</ows:Identifier>

<wps:Data>

<wps:LiteralData>1500</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>
</wps:Execute>

◼ Response

Only raster cells corresponding to a circle with a radius of 1500 meters around a certain point

The result.

333
Spatial Extension for GeoServer WPS 1.0

4.3.7.5. Extract by Features


Polygon Extracts the raster to the feature layer.
◼ Syntax

RasterClipByFeatures (GridCoverage2D inputCoverage, SimpleFeatureCollection cropFeatures):

GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input gridcoverage to be clipped. Complex ✓
cropFeatures The Polygon or MultiPolygon features to clip raster. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints
334
Spatial Extension for GeoServer WPS 1.0

- If the Inside parameter is False, returns the area excluding the circle.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterClipByFeatures</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>cropFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>
<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:clip"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

335
Spatial Extension for GeoServer WPS 1.0

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The result of extracting raster data using polygon feature layer.

336
Spatial Extension for GeoServer WPS 1.0

4.3.7.6. Conditional Expression

Converts the cell value of the raster to a True or False value according to the filter condition.
◼ Syntax

RasterCon (GridCoverage2D inputCoverage, Integer bandIndex, Filter filter, Integer

trueValue, Integer falseValue): GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputCoverage The input gridcoverage to be clipped. Complex ✓
bandIndex The zero-based band index, default index is a 0. Literal -
A logical expression that determines which of the
filter Complex ✓
input cells are to be true or false. ex> Value > 250
The input whose values will be used as the output
trueValue Literal ✓
cell values if the condition is true.
The input whose values will be used as the output
falseValue Literal -
cell values if the condition is false. Default is NoData.

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The field name of the filter parameter must be Value.


- The trueValue and falseValue parameters must be Integer values.
- falseValue Applies the NoData value if the parameter value is null.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"
337
Spatial Extension for GeoServer WPS 1.0

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterCon</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>filter</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="text/plain; subtype=cql"><![CDATA[Value >

250]]></wps:ComplexData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>trueValue</ows:Identifier>

<wps:Data>
<wps:LiteralData>1</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

338
Spatial Extension for GeoServer WPS 1.0

◼ Response

Only raster cells corresponding to a circle with a radius of 1500 meters around a certain point

The result.

4.3.8. Density
It consists of processes that perform density analysis of the raster.
4.3.8.1. Kernel Density

Performs kernel density analysis based on point features and various kernel functions.
◼ Syntax

KernelDensity (SimpleFeatureCollection inputFeatures, KernelType kernelType, String

populationField, Double searchRadius, Double cellSize, ReferencedEnvelope extent):

GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


339
Spatial Extension for GeoServer WPS 1.0

The input point features for which to calculate the


inputFeatures Complex ✓
density.

kernelType Kernel functions. Literal -


The field denoting population values for each
populationField Literal -
feature.

searchRadius The search radius within which to calculate density. Literal -


cellSize The cell size for the output raster. Literal -
extent The extent for the output raster. Complex -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- Kernel Type 12 consists of BINARY, COSINE, DISTANCE, EPANECHNIKOV,

GAUSSIAN, INVERSE_DISTANCE, QUADRATIC, QUARTIC, TRIANGULAR, TRIWEIGHT,

TRICUBE.

- If you do not set the extent parameter, use the range of the inputFeatures layer.

- If you do not set the cellSize parameter, use the value of the Extent's Width

and Height, whichever is smaller, divided by 250.

- If you do not set the searchRadius parameter, the smaller of the Width and Height

of the Extent is divided by 30.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
12
https://en.wikipedia.org/wiki/Kernel_%28statistics%29

340
Spatial Extension for GeoServer WPS 1.0

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:KernelDensity</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:gasstation"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>kernelType</ows:Identifier>

<wps:Data>

<wps:LiteralData>QUADRATIC</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>cellSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>30</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>extent</ows:Identifier>

<wps:Data>

<wps:BoundingBoxData crs="EPSG:3857" dimensions="2">

<ows:LowerCorner>1.4111357E7 4498975.0</ows:LowerCorner>

<ows:UpperCorner>1.4158036E7 4537337.0</ows:UpperCorner>
</wps:BoundingBoxData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

341
Spatial Extension for GeoServer WPS 1.0

◼ Response

Kernel Density of 30 meter cell size based on Seoul city area using Seoul gas station data

Analysis results.

342
Spatial Extension for GeoServer WPS 1.0

4.3.8.2. Point Density


Perform density analysis by setting point features and neighbors.
◼ Syntax

PointDensity (SimpleFeatureCollection inputFeatures, String populationField, String

neighborhood, Double cellSize, ReferencedEnvelope extent): GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The input point features for which to calculate the
inputFeatures Complex ✓
density.

The field denoting population values for each


populationField Literal -
feature.

Neighborhood:

neighborhood Ex> Circle + Radius Literal -

Ex> Rectangle + width + height


cellSize The cell size for the output raster. Literal -
extent The extent for the output raster. Complex -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- If you do not set the neighborhood parameter, use the Circle + radius (the

width and height of the inpueFeatures extents, whichever is smaller, divided

by 30).

- If you do not set the extent parameter, use the range of the inputFeatures layer.
- If you do not set the cellSize parameter, use the value of the Extent's Width and Height,
whichever is smaller, divided by 250.
◼ Request Examples
343
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:PointDensity</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:pubs"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>cellSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>30</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>
◼ Response

The result of Point Density analysis of 30 meter cell size based on Seoul city area using Seoul
city point data.

344
Spatial Extension for GeoServer WPS 1.0
345
Spatial Extension for GeoServer WPS 1.0

4.3.8.3. Line Density


Perform line density analysis using line features and seek radius.
◼ Syntax

LineDensity (SimpleFeatureCollection inputFeatures, String populationField, Double

searchRadius, Double cellSize, ReferencedEnvelope extent): GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The input line features for which to calculate the
inputFeatures Complex ✓
density.

The field denoting population values for each


populationField Literal -
feature.

searchRadius The search radius within which to calculate density. Literal -


cellSize The cell size for the output raster. Literal -
extent The extent for the output raster. Complex -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- If the searchRadius parameter is not set, the width and height of the Extent, whichever is
smaller
The value divided by 30 is used.
- If you do not set the extent parameter, use the range of the inputFeatures layer.
- If you do not set the cellSize parameter, use the value of the Extent's Width and Height,
whichever is smaller, divided by 250.
◼ Request Examples
346
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:LineDensity</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:road"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>cellSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>30</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>
◼ Response

It is the result of Line Density analysis of 30 meter cell size based on the Seoul metropolitan
area using the Seoul highway data.

347
Spatial Extension for GeoServer WPS 1.0
348
Spatial Extension for GeoServer WPS 1.0

4.3.9. Interpolation

It consists of processes that perform interpolation using points and attribute values.
4.3.9.1. IDW (Inverse Distance Weighted)
Perform an Inverse Distance Weighted (IDW) Interpolation analysis using the point feature
layer.
◼ Syntax

IDW (SimpleFeatureCollection inputFeatures, String inputField, Double power, RadiusType

radiusType, Integer numberOfPoints, Double distance, Double cellSize,

ReferencedEnvelope extent): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The input point features for which to calculate the
inputFeatures Complex ✓
density.

The field that holds a height or magnitude value for


inputField Literal ✓
each point.

power The exponent (default 2.0) of distance. Literal -


radiusType The search radius type Variable, Fixed Literal -
The numberOfPoints is an integer value specifying

numberOfPoints the number of nearest input sample points to be Literal -

used to perform the interpolation.


The distance specifies the distance, in map units, by

distance which to limit the search for the nearest input Literal -

sample points.
cellSize The cell size for the output raster. Literal -
extent The extent for the output raster. Complex -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints
349
Spatial Extension for GeoServer WPS 1.0

- If you do not set the extent parameter, use the range of the inputFeatures layer.
- If the cellSize parameter is not set, the width and height of the Extent, whichever is smaller
The value divided by 250 is used.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:IDW</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:gasstation"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>price</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>power</ows:Identifier>

<wps:Data>
<wps:LiteralData>2.0</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>radiusType</ows:Identifier>

<wps:Data>

350
Spatial Extension for GeoServer WPS 1.0

<wps:LiteralData>Variable</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>numberOfPoints</ows:Identifier>

<wps:Data>

<wps:LiteralData>24</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>cellSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>30</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>extent</ows:Identifier>

<wps:Data>

<wps:BoundingBoxData crs="EPSG:3857" dimensions="2">

<ows:LowerCorner>1.4111357E7 4498975.0</ows:LowerCorner>

<ows:UpperCorner>1.4158036E7 4537337.0</ows:UpperCorner>

</wps:BoundingBoxData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Using the oil price information of the gas station in Seoul,


This is the result of performing the Distance Weighted (IDW) analysis.

351
Spatial Extension for GeoServer WPS 1.0
352
Spatial Extension for GeoServer WPS 1.0

4.3.9.2. TPS (Thin Plate Spline)

Use the point feature layer to perform Thin Plate Spline (TPS) interpolation analysis.
◼ Syntax

TPS (SimpleFeatureCollection inputFeatures, String inputField, Double cellSize,

ReferencedEnvelope extent): GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The input point features for which to calculate the
inputFeatures Complex ✓
density.

The field that holds a height or magnitude value for


inputField Literal ✓
each point.

cellSize The cell size for the output raster. Literal -


extent The extent for the output raster. Complex -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- If you do not set the extent parameter, use the range of the inputFeatures layer.
- If the cellSize parameter is not set, the width and height of the Extent, whichever is smaller
The value divided by 250 is used.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
353
Spatial Extension for GeoServer WPS 1.0

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:TPS</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:gasstation"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>price</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>cellSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>30</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>extent</ows:Identifier>

<wps:Data>

<wps:BoundingBoxData crs="EPSG:3857" dimensions="2">

<ows:LowerCorner>1.4111357E7 4498975.0</ows:LowerCorner>

<ows:UpperCorner>1.4158036E7 4537337.0</ows:UpperCorner>
</wps:BoundingBoxData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

354
Spatial Extension for GeoServer WPS 1.0

◼ Response

Thin Plate of 30 meter cell size based on Seoul city area using oil price information of Seoul
gas station

Spline (TPS) analysis results.


355
Spatial Extension for GeoServer WPS 1.0

4.3.10. Surface Analysis

It consists of processes that perform terrain analysis.


4.3.10.1. Raster Profile
Inputs raster data and lines such as DEM, analyzes the profile, and returns it to the point layer.
◼ Syntax

RasterProfile (GridCoverage2D inputCoverage, Geometry userLine, Double interval):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input surface raster. Complex ✓
userLine LineString or MultiLineString geometry. Literal ✓
The interval of distance. Default = length of
interval Literal -
geometry / 20.

◼ Process Outputs

Identifier Description Type Required


result Output line features. Complex ✓

◼ Constraints

- If the interval parameter is not set, the userLine length is divided by 20.

- The Output point layer contains distance (cumulative distance) and value (cell

value of raster, such as height value) field.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"
356
Spatial Extension for GeoServer WPS 1.0

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterProfile</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>userLine</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="application/wkt"><![CDATA[LineString(14130049 4513932,

14144040 4531525)]]></wps:ComplexData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>
</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is
the result
of profile
analysis
using
point
layer and
graph
using
DEM in
Seoul.357
Spatial Extension for GeoServer WPS 1.0
358
Spatial Extension for GeoServer WPS 1.0

4.3.10.2. Radial Line Of Sight


Perform Radial Line Of Sight analysis using observation points and radii using DEM raster data.
◼ Syntax

RadialLineOfSight (GridCoverage2D inputCoverage, Geometry observerPoint, Double

observerOffset, Double radius, Integer sides, Boolean useCurvature, Boolean

useRefraction, Double refractionFactor): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The input surface raster. Complex ✓
observerPoint The observer's coordinate. Complex ✓
The observer's offset above the surface rater. The
observerOffset Literal ✓
default is 0.0 units.

The radius from the observer point, for which the


radius Literal ✓
radial visibility will be calculated.
sides The number of sides. The default sides is 180. Literal -
Indicates whether the earth's curvature should be

useCurvature taken into consideration for the line-of-sight Literal -

analysis. Default is False.


Indicates whether atmospheric refraction should be

useRefraction taken into consideration when generating a line of Literal -

sight from a functional surface. Default is False.


The refraction factor. The default refraction factor is
refractionFactor Literal -
0.13.

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints
359
Spatial Extension for GeoServer WPS 1.0

- The useRefraction and refractionFactor parameters only apply if the

useCurvature parameter is True.

- If the useCurvature parameter is True and the useRefraction parameter is

False, refractionFactor applies a value of 0.13.

- The output line layer includes the Angle, Visible field, the visible field when the

Visible field value is 1, and the non-visible area when the value is 0.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RadialLineOfSight</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>
</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>observerPoint</ows:Identifier>

<wps:Data>

360
Spatial Extension for GeoServer WPS 1.0

<wps:ComplexData mimeType="application/wkt"><![CDATA[POINT(14136287.706512472

4516237.6022168035)]]></wps:ComplexData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>observerOffset</ows:Identifier>

<wps:Data>

<wps:LiteralData>1.8</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>radius</ows:Identifier>

<wps:Data>

<wps:LiteralData>5000</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of analyzing the visible area of 5000 m radius based on Namsan using DEM in
Seoul.
361
Spatial Extension for GeoServer WPS 1.0

4.3.10.3. Linear Line Of Sight


Perform Linear Line Of Sight analysis using observation points and target points using DEM
raster data.
◼ Syntax

LinearLineOfSight (GridCoverage2D inputCoverage, Geometry observerPoint, Double

observerOffset, Geometry targetPoint, Boolean useCurvature, Boolean useRefraction,

Double refractionFactor): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input surface raster. Complex ✓
observerPoint The observer's coordinate. Complex ✓
The observer's offset above the surface rater. The
observerOffset Literal ✓
default is 0.0 units.

targetPoint The target's coordinate. Complex ✓


Indicates whether the earth's curvature should be

useCurvature taken into consideration for the line-of-sight Literal -

analysis. Default is False.


Indicates whether atmospheric refraction should be

useRefraction taken into consideration when generating a line of Literal -

sight from a functional surface. Default is False.


The refraction factor. The default refraction factor is
refractionFactor Literal -
0.13.

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The useRefraction and refractionFactor parameters only apply if the

useCurvature parameter is True.


362
Spatial Extension for GeoServer WPS 1.0

- If the useCurvature parameter is True and the useRefraction parameter is

False, refractionFactor applies a value of 0.13.

- The output line layer includes a visible field, a visible field when the Visible

field value is 1, and a non-visible field when the value is 0.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:LinearLineOfSight</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>
<ows:Identifier>observerPoint</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="application/wkt"><![CDATA[POINT(14136291.5572

4516245.7128)]]></wps:ComplexData>

</wps:Data>

</wps:Input>

<wps:Input>

363
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>observerOffset</ows:Identifier>

<wps:Data>

<wps:LiteralData>1.8</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>targetPoint</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="application/wkt"><![CDATA[POINT(14128854.8064

4511075.0345)]]></wps:ComplexData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of analyzing the line of sight of Yeouido using Namsan as a base point by
using DEM in Seoul.
364
Spatial Extension for GeoServer WPS 1.0

4.3.10.4. Find Highest/Lowest Points


Find the highest and lowest positions in a specific area of raster data, such as DEM, and return
to the point.
◼ Syntax

RasterHighLowPoints (GridCoverage2D inputCoverage, Integer bandIndex, Geometry

cropShape, HighLowType valueType): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input gridcoverage to be processed. Complex ✓
bandIndex The zero-based band index, default index is a 0. Literal -
cropShape The Polygon or MultiPolygon to clip gridcoverage. Complex -
valueType Value Type (Both, High, Low). Default is High. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The cropShape parameter must be Polygon or MultiPolygon.


- The valueType parameter uses the values of Both, High, and Low, and applies a value of
High if it is Null.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
365
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>statistics:RasterHighLowPoints</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>valueType</ows:Identifier>

<wps:Data>

<wps:LiteralData>Both</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
It is the result of analyzing the highest point based on the current map range using DEM in
Seoul.

366
Spatial Extension for GeoServer WPS 1.0
367
Spatial Extension for GeoServer WPS 1.0

4.3.10.5. Slope
Use the DEM raster data to perform gradient analysis in degrees or percentages.
◼ Syntax

RasterSlope (GridCoverage2D inputCoverage, SlopeType slopeType, Double zFactor):

GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputCoverage The input surface raster. Complex ✓
Determines the measurement units of the output
slopeType Literal -
slope data. Degree (default), Percentrise.
The number of ground x, y units in one surface z
zFactor Literal -
unit. The default is 1.0.

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The slopeType parameter uses the Degree or Percentrise value. If it is null, the

Degree value is applied.

- If the units of the x, y and z values in the coordinate system are different, set

the value of zFactor appropriately in units of x and y.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"
xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

368
Spatial Extension for GeoServer WPS 1.0

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterSlope</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>slopeType</ows:Identifier>

<wps:Data>

<wps:LiteralData>Degree</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>zFactor</ows:Identifier>

<wps:Data>

<wps:LiteralData>1.0</wps:LiteralData>

</wps:Data>
</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

369
Spatial Extension for GeoServer WPS 1.0

It is the result of analysis of slope using DEM in Seoul.

370
Spatial Extension for GeoServer WPS 1.0

4.3.10.6. Aspect

Performs slope angle analysis using DEM raster data.


◼ Syntax

RasterAspect (GridCoverage2D inputCoverage): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input surface raster. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterAspect</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>
<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

371
Spatial Extension for GeoServer WPS 1.0

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of analyzing slope angle using DEM in Seoul.


372
Spatial Extension for GeoServer WPS 1.0

4.3.10.7. Hillshade
Creates shaded relief using DEM raster data.
◼ Syntax

RasterHillshade (GridCoverage2D inputCoverage, Double azimuth, Double altitude,

Double zFactor): GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputCoverage The input surface raster. Complex ✓
Azimuth angle of the light source. The default is 315
azimuth Literal -
degrees.

Altitude angle of the light source above the horizon.


altitude Literal -
The default is 45 degrees.
The number of ground x, y units in one surface z
zFactor Literal -
unit. The default is 1.0.

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- The value of the azimuth parameter is measured clockwise from 0 to 360 degrees north
It is the direction of the sun. The default azimuth is 315 degrees (NW).
- The altitude parameter is the illuminance value of the sun above the horizon, from 0
(horizontal) to 90

(Vertical) is used. The default altitude value is 45 degrees.


- If the x, y units of the coordinate system are different from the units of the z value, the
zFactor value is appropriately set in units of x and y
◼ Request Examples

373
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterHillshade</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>azimuth</ows:Identifier>

<wps:Data>

<wps:LiteralData>315</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>
<ows:Identifier>altitude</ows:Identifier>

<wps:Data>

<wps:LiteralData>45</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>zFactor</ows:Identifier>

<wps:Data>

<wps:LiteralData>1.0</wps:LiteralData>

</wps:Data>

374
Spatial Extension for GeoServer WPS 1.0

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of analysis of shading relief using DEM in Seoul.


375
Spatial Extension for GeoServer WPS 1.0

4.3.10.8. Topographic Position Index


Extract TPI (Topographic Position Index) using DEM raster data. TPI is the difference between
the center cell value and the average of surrounding cells.
◼ Syntax

RasterTPI (GridCoverage2D inputCoverage): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input surface raster. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterTPI</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>
<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

376
Spatial Extension for GeoServer WPS 1.0

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of phase position index analysis using DEM in Seoul.


377
Spatial Extension for GeoServer WPS 1.0

4.3.10.9. Terrain Ruggedness Index

Extract TRI (Terrain Ruggedness Index) using DEM raster data. TRI is the average of the
difference between the center cell and the surrounding cells.
◼ Syntax

RasterTRI (GridCoverage2D inputCoverage): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input surface raster. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterTRI</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>
<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

378
Spatial Extension for GeoServer WPS 1.0

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of analyzing the roughness of terrain using DEM in Seoul.


379
Spatial Extension for GeoServer WPS 1.0

4.3.10.10. Roughness

Roughness is extracted using DEM raster data. Roughness refers to the degree of surface
irregularity, and calculates the largest value of the center cell and its surrounding cells.
◼ Syntax

RasterRoughness (GridCoverage2D inputCoverage): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input surface raster. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterRoughness</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>
<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

380
Spatial Extension for GeoServer WPS 1.0

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of analyzing the highest point based on the current map range using DEM in
Seoul.
381
Spatial Extension for GeoServer WPS 1.0

4.3.10.11. Curvature

Calculates the curvature of the earth's surface using DEM raster data.
◼ Syntax

RasterCurvature (GridCoverage2D inputCoverage, Double zFactor): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input surface raster. Complex ✓
The number of ground x, y units in one surface z
zFactor Literal -
unit. The default is 1.0.

◼ Process Outputs

Identifier Description Type Required


result Output Raster. Complex ✓

◼ Constraints

- If the units of the x, y and z values in the coordinate system are different, set

the value of zFactor appropriately in units of x and y.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterCurvature</ows:Identifier>

<wps:DataInputs>
<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

382
Spatial Extension for GeoServer WPS 1.0

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>zFactor</ows:Identifier>

<wps:Data>

<wps:LiteralData>1.0</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of analysis of curvature of terrain using DEM in Seoul.


383
Spatial Extension for GeoServer WPS 1.0
384
Spatial Extension for GeoServer WPS 1.0

4.3.11. Zonal
It consists of processes that perform zoning statistics
4.3.11.1. Zonal Statistics

Calculates statistics for the values of raster data for each area of zone data.
◼ Syntax

ZonalStatistics (SimpleFeatureCollection zoneFeatures, GridCoverage2D inputCoverage,

Integer bandIndex): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The Dataset (polygon features) that defines the
zoneFeatures Complex ✓
zones.

targetField The output field to be calculated. Literal -


The Raster that contains the values on which to
valueCoverage Complex ✓
calculate a statistic.
bandIndex The zero-based band index, default index is a 0. Literal -
statisticsType Zonal statisticx type to be calculated. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The zoneFeatures parameter must be of type Polygon or MultiPolygon.


- If the target parameter is not set, the default val value is used.
- The bandIndex defaults to a value of 0 if there are multiple raster bands.
- The statisticsType parameter can use the following options:
옵션 설명
385
Spatial Extension for GeoServer WPS 1.0

Count Sum Numberofcell

Mean sum of s cells

Minimum The average value of

Maximum thecell (default).

Range Minimum value

StdDev Maximum cell

value

Range of cells
Standard Deviation

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:ZonalStatistics</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>zoneFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>targetField</ows:Identifier>

<wps:Data>
<wps:LiteralData>h_mean</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>valueCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

386
Spatial Extension for GeoServer WPS 1.0

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>bandIndex</ows:Identifier>

<wps:Data>

<wps:LiteralData>0</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>statisticsType</ows:Identifier>

<wps:Data>

<wps:LiteralData>Mean</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml; subtype=wfs-collection/1.0">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of analyzing the average elevation by using DEM in Seoul.
387
Spatial Extension for GeoServer WPS 1.0
388
Spatial Extension for GeoServer WPS 1.0

4.3.12. Projection
It consists of defining the coordinate system of raster data, transforming, changing the cell
size, and so on.
4.3.12.1. Resample
Change the resolution (cell size) of the raster data.
Syntax

RasterResample (GridCoverage2D inputCoverage, Double cellSize, ResampleType

resamplingType): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The raster dataset for which you want to change the
inputCoverage Complex ✓
spatial resolution.

cellSize The cell size for the output raster. Literal ✓


The resampling algorithm to be used.
resamplingType Complex -
◼ Process Outputs
Ex> NEAREST (default), BILINEAR, BICUBIC.

Identifier Description Type Required


result Output raster. Complex ✓

◼ Constraints

- The resamplingType parameter can use the NEAREST (default), BILINEAR, and

BICUBIC options.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

389
Spatial Extension for GeoServer WPS 1.0

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterResample</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>cellSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>50</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>resamplingType</ows:Identifier>

<wps:Data>

<wps:LiteralData>NEAREST</wps:LiteralData>

</wps:Data>
</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

390
Spatial Extension for GeoServer WPS 1.0

4.3.12.2. Redefine Projection


Defines or redefines the coordinate system of the raster data with a new coordinate system.
◼ Syntax

RasterForceCRS (GridCoverage2D inputCoverage, CoordinateReferenceSystem forcedCRS):

GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The raster dataset for which you want to redefine
inputCoverage Complex ✓
the coordinate reference system.
Coordinate reference system to use for input raster
forcedCRS Literal ✓
dataset.

◼ Process Outputs

Identifier Description Type Required


result Output raster. Complex ✓

◼ Constraints

- The forcedCRS parameter must be in the [EPSG: code number] format.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterForceCRS</ows:Identifier>

<wps:DataInputs>
<wps:Input>

391
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>forcedCRS</ows:Identifier>

<wps:Data>

<wps:LiteralData>EPSG:5181</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Daegu Metropolitan City EPSG: 5181 The result of redefining the original DEM as EPSG: 5186.
392
Spatial Extension for GeoServer WPS 1.0

4.3.12.3. Reproject

Converts the coordinate system of raster data.


◼ Syntax

RasterReproject (GridCoverage2D inputCoverage, CoordinateReferenceSystem targetCRS,

ResampleType resamplingType, Double cellSize, CoordinateReferenceSystem forcedCRS):

GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The raster dataset for which you want to change the
inputCoverage Complex ✓
spatial reference system.
Target coordinate reference system to use for
targetCRS Literal ✓
reprojection.

The resampling algorithm to be used. NEAREST


resamplingType Literal -
(default), BILINEAR, BICUBIC.
393
Spatial Extension for GeoServer WPS 1.0

cellSize The cell size for the output raster. Literal -


Coordinate reference system to use for input raster
forcedCRS Literal -
dataset.

◼ Process Outputs

Identifier Description Type Required


result Output raster. Complex ✓

◼ Constraints

- The targetCRS and forcedCRS parameters must be in the [EPSG: code number] format.
- The resamplingType parameter can use the NEAREST (default), BILINEAR, and BICUBIC
options.

- If the cellSize parameter is not set, the original cell size is used. If converting from

the geographic coordinate system to the projection coordinate system, the cell size

converted into the corresponding unit is applied.

- When the forcedCRS parameter is set, the coordinate system of the original raster data is
set.

Coordinate system.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterReproject</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>
<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

394
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>targetCRS</ows:Identifier>

<wps:Data>

<wps:LiteralData>EPSG:5181</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>resamplingType</ows:Identifier>

<wps:Data>

<wps:LiteralData>NEAREST</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>cellSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>50</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>
</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

395
Spatial Extension for GeoServer WPS 1.0

4.3.13. Utilities
The process consists of moving, resizing, rotating, and reversing raster data.
4.3.13.1. Flip
Adjusts the direction of the raster by flipping it from top to bottom along the horizontal axis
with respect to the center of the raster.
◼ Syntax

RasterFlip (GridCoverage2D inputCoverage): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input raster to be converted. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output raster. Complex ✓

◼ Constraints

- Multi-Band raster support.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterFlip</ows:Identifier>

<wps:DataInputs>
<wps:Input>

396
Spatial Extension for GeoServer WPS 1.0

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Original DEM raster dataset (left) and Flip result (right).


397
Spatial Extension for GeoServer WPS 1.0

4.3.13.2. Mirror
Changes the direction of the raster from left to right along the vertical axis relative to the
center of the raster.
◼ Syntax

RasterMirror (GridCoverage2D inputCoverage): GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input raster to be converted. Complex ✓

◼ Process Outputs

Identifier Description Type Required


result Output raster. Complex ✓

◼ Constraints

- Multi-Band raster support.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterMirror</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>
<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

398
Spatial Extension for GeoServer WPS 1.0

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Original DEM raster dataset (left) and mirrored result (right).


399
Spatial Extension for GeoServer WPS 1.0

4.3.13.3. Rescale
Resizes the raster to the specified x, y scale values.
◼ Syntax

RasterRescale (GridCoverage2D inputCoverage, Double xScale, Double yScale):

GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputCoverage The input raster to be converted. Complex ✓
The factor in which to scale the cell size in the x
xScale Literal -
direction. The factor must be greater than zero.
The factor in which to scale the cell size in the y
yScale Literal -
direction. The factor must be greater than zero.

◼ Process Outputs

Identifier Description Type Required


result Output raster. Complex ✓

◼ Constraints

- Multi-Band raster support.


- The xScale and yScale parameters must be greater than 0,
Return. For example, a Scale value of 2 returns an image that is twice as large as the original
image.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"
400
Spatial Extension for GeoServer WPS 1.0

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterRescale</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>xScale</ows:Identifier>

<wps:Data>

<wps:LiteralData>1.5</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>yScale</ows:Identifier>

<wps:Data>

<wps:LiteralData>1.5</wps:LiteralData>

</wps:Data>
</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

401
Spatial Extension for GeoServer WPS 1.0

◼ Response

This is the result of rescaling the original DEM raster dataset by 1.5 times in the X and Y
directions.

402
Spatial Extension for GeoServer WPS 1.0

4.3.13.4. Rotate
Rotates the raster by the angle value specified in degrees around the specified pivot point.
◼ Syntax

RasterRotate (GridCoverage2D inputCoverage, Point anchorPoint, Double angle,

ResampleType interpolation): GridCoverage2D

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
inputCoverage The input raster to be converted. Complex ✓
The pivot point around which to rotate the raster.

anchorPoint The default is the lower left corner of the input Complex -

raster dataset.
angle The angle in degrees to rotate the raster. Literal ✓
The resampling algorithm to be used. The default is
interpolation Literal -
NEAREST.

◼ Process Outputs

Identifier Description Type Required


result Output raster. Complex ✓

◼ Constraints

- Multi-Band raster support.


- If the anchorPoint parameter is Null, use the lower left corner of the input raster as a
reference.
- The angle parameter uses the value in degrees.

- The resamplingType parameter can use the NEAREST (default), BILINEAR, BICUBIC
options

have.
◼ Request Examples

403
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterRotate</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>angle</ows:Identifier>

<wps:Data>

<wps:LiteralData>45</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>
<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

404
Spatial Extension for GeoServer WPS 1.0

The result of rotating the original DEM raster dataset by 45 degrees from the bottom left
corner.

405
Spatial Extension for GeoServer WPS 1.0

4.3.13.5. Shift
Moves the raster to a new geographic location based on the specified x, y displacement value.
◼ Syntax

RasterShift (GridCoverage2D inputCoverage, Double xShift, Double yShift):

GridCoverage2D

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputCoverage The input raster to be converted. Complex ✓
xShift The value used to shift the x coordinates. Literal -
yShift The value used to shift the y coordinates. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output raster. Complex ✓

◼ Constraints

- Multi-Band raster support.

- The unit of xShift, yShift value uses distance unit of input raster coordinate system.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:RasterShift</ows:Identifier>

<wps:DataInputs>

406
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>inputCoverage</ows:Identifier>

<wps:Reference mimeType="image/tiff" xlink:href="http://geoserver/wcs" method="POST">

<wps:Body>

<wcs:GetCoverage service="WCS" version="1.1.1">

<ows:Identifier>foss:seoul_dem30</ows:Identifier>

<wcs:DomainSubset>

<ows:BoundingBox crs="http://www.opengis.net/gml/srs/epsg.xml#3857">

<ows:LowerCorner>1.4111343323506365E7 4498971.750719266</ows:LowerCorner>

<ows:UpperCorner>1.4158021303411832E7 4537343.6431004135</ows:UpperCorner>

</ows:BoundingBox>

</wcs:DomainSubset>

<wcs:Output format="image/tiff"/>

</wcs:GetCoverage>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>xShift</ows:Identifier>

<wps:Data>

<wps:LiteralData>5000</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>yShift</ows:Identifier>

<wps:Data>

<wps:LiteralData>5000</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="image/tiff">

<ows:Identifier>result</ows:Identifier>
</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of shifting the original DEM raster dataset to the right by 1.5 km.

407
Spatial Extension for GeoServer WPS 1.0
408
Spatial Extension for GeoServer WPS 1.0

4.4. Spatial Statistics Analysis


Process group associated with spatial statistical analysis.
4.4.1. Descriptive
It consists of processes that calculate or calculate statistical information by using geometry or
attribute values of field.
4.4.1.1. Basic Statistics

Perform basic statistical analysis based on field values in the feature layer.
◼ Syntax

StatisticsFeatures (SimpleFeatureCollection inputFeatures, String inputFields, String

caseField): DataStatisticsResult

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The input features containing the field(s) that will be
inputFeatures Complex ✓
used to calculate statistics.
Single field or comma (,) separated numeric field(s)

inputFields containing attribute values used to calculate the Literal

✓ specified
The field used to group features for separate
caseField Literal -
statistics calculations.
◼ Process Outputs

Identifier Description Type Required


result Output Statistics. Complex ✓

◼ Constraints

- When the caseField parameter is set, statistical information is generated for each unique
value of the caseField.

- Output is returned in XML.


409
Spatial Extension for GeoServer WPS 1.0

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:StatisticsFeatures</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputFields</ows:Identifier>

<wps:Data>

<wps:LiteralData>a3_2005</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>caseField</ows:Identifier>

<wps:Data>

<wps:LiteralData>sid_nm</wps:LiteralData>

</wps:Data>
</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

410
Spatial Extension for GeoServer WPS 1.0

◼ Response

Based on the a3_2000 field value of the city,

It is returned in the following XML format:


<?xml version="1.0" encoding="utf-8"?>

<DataStatistics>

<Item>

<TypeName>korea_sgg</TypeName>

<CaseValue>강원도</CaseValue>

<PropertyName>a3_2000</PropertyName>

<Count>18</Count>

<InvalidCount>0</InvalidCount>

<Minimum>0.24774</Minimum>

<Maximum>7.81668</Maximum>

<Range>7.56894</Range>

<Ranges>0.24774 - 7.81668</Ranges>

<Sum>79.64533043000002</Sum>

<Mean>4.424740579444445</Mean>

<Variance>6.976857255428096</Variance>

<StandardDeviation>2.641374122578643</StandardDeviation>

<CoefficientOfVariance>0.5969557028607279</CoefficientOfVariance>

</Item>

<Item>

<TypeName>korea_sgg</TypeName>

<CaseValue>경기도</CaseValue>

<PropertyName>a3_2000</PropertyName>

<Count>31</Count>

<InvalidCount>0</InvalidCount>

<Minimum>0.0</Minimum>

<Maximum>15.46253</Maximum>

<Range>15.46253</Range>

<Ranges>0.0 - 15.46253</Ranges>

<Sum>271.03358996</Sum>

<Mean>8.74301903096774</Mean>
<Variance>21.209124717119646</Variance>

<StandardDeviation>4.605336547649872</StandardDeviation>

<CoefficientOfVariance>0.5267444267635456</CoefficientOfVariance>

</Item>

</DataStatistics>

411
Spatial Extension for GeoServer WPS 1.0

4.4.1.2. Pearson Correlation Coefficient

Calculates Pearson's Correlation Coefficient using two or more attribute fields.


◼ Syntax

Pearson (SimpleFeatureCollection inputFeatures, String inputFields): PearsonResult

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features to be calculated. Complex ✓
The comma separated numeric field(s) containing

inputFields attribute values used to calculate the specified Literal

✓ statistic.

◼ Process Outputs

Identifier Description Type Required


result Result Pearson Correlation Coefficient. Complex ✓

◼ Constraints

- Output is returned in XML.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:Pearson</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>
<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

412
Spatial Extension for GeoServer WPS 1.0

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputFields</ows:Identifier>

<wps:Data>

<wps:LiteralData>pop2008, pop_den</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The results of Pearson correlation analysis using the two fields of the administrative district of
the national city / province are returned in the following XML format.
<?xml version="1.0" encoding="utf-8"?>

<PearsonResult>

<PropertyName Name="pop2008">

<Item Name="pop2008">

<Value>1.0</Value>

</Item>

<Item Name="pop_den">

<Value>0.3002549407911261</Value>

</Item>

</PropertyName>
<PropertyName Name="pop_den">

<Item Name="pop2008">

<Value>0.3002549407911261</Value>

</Item>

<Item Name="pop_den">

<Value>1.0</Value>

413
Spatial Extension for GeoServer WPS 1.0

</Item>

</PropertyName>

</PearsonResult>
414
Spatial Extension for GeoServer WPS 1.0

4.4.1.3. Standardized Score of Dissimilarity

Using the two attribute field values, the standardized score calculates the standardized

score of dissimilarity.

◼ Syntax

StandardizedScores (SimpleFeatureCollection inputFeatures, Expression xField, Expression

yField, String targetField): SimpleFeatureCollection

◼ Parameters

Identifier
◼ Data Inputs Description Type Required
The features for which the standardized score of
inputFeatures Complex ✓
dissimilarity will be calculated.
xField X Value Field. Literal ✓
yField Y Value Field. Literal ✓
targetField Target Field. std_scr is default. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If you do not set the targetField parameter, std_scr is the default.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"


xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"
xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"
xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"
xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0
http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:StandardizedScores</ows:Identifier>
<wps:DataInputs>
<wps:Input>
<ows:Identifier>inputFeatures</ows:Identifier>
<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

415
Spatial Extension for GeoServer WPS 1.0

<wps:Body>
<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”
xmlns:foss="http://www.opengeospatial.net/foss">
<wfs:Query typeName="foss:korea_sgg"/>
</wfs:GetFeature>
</wps:Body>
</wps:Reference>
</wps:Input>
<wps:Input>
<ows:Identifier>xField</ows:Identifier>
<wps:Data>
<wps:LiteralData>a0_2005</wps:LiteralData>
</wps:Data>
</wps:Input>
<wps:Input>
<ows:Identifier>yField</ows:Identifier>
<wps:Data>
<wps:LiteralData>a3_2005</wps:LiteralData>
</wps:Data>
</wps:Input>
<wps:Input>
<ows:Identifier>targetField</ows:Identifier>
<wps:Data>
<wps:LiteralData>std_scr</wps:LiteralData>
</wps:Data>
</wps:Input>
</wps:DataInputs>
<wps:ResponseForm>
<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>
<ows:Identifier>result</ows:Identifier>
</wps:RawDataOutput>
</wps:ResponseForm>
</wps:Execute>

◼ Response

The results of the standardized score analysis using the two fields of the administrative district
of the national city /

The same. You can visualize the score results using a standardized image using the property
values of targetField.
416
Spatial Extension for GeoServer WPS 1.0
417
Spatial Extension for GeoServer WPS 1.0

4.4.1.4. Focal Location Quotients


Calculates the spatial location coefficients (Focal Location Quotients) using two attribute field
values.
◼ Syntax

FocalLQ (SimpleFeatureCollection inputFeatures, String fieldName1, String fieldName2,

Double searchDistance): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The features for which the focal LQ will be
inputFeatures Complex ✓
calculated.

fieldName1 X Value Field. Literal ✓


fieldName2 Y Value Field. Literal ✓
searchDistance The maximun search distance. Literal -

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The fields of the Output layer return flq, flqd, and fz values.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:FocalLQ</ows:Identifier>

<wps:DataInputs>

418
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>xField</ows:Identifier>

<wps:Data>

<wps:LiteralData>a0_2005</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>yField</ows:Identifier>

<wps:Data>

<wps:LiteralData>a3_2005</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

The results of analyzing and visualizing the regional specialization using the two fields of the
national city / county district are as follows.
419
Spatial Extension for GeoServer WPS 1.0
420
Spatial Extension for GeoServer WPS 1.0

4.4.2. Distributions

It consists of processes that analyze the distribution pattern of vector data.


4.4.2.1. Mean Center
Returns the geographic center or center of concentration for all features in the feature layer.
◼ Syntax

MeanCenter (SimpleFeatureCollection inputFeatures, String weightField, String caseField,

String dimensionField): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


A features for which the mean center will be
inputFeatures Complex ✓
calculated.

The numeric field used to create a weighted mean


weightField Literal -
cen ter.

The field used to group features for separate mean


caseField Literal -
center calculations.
A numeric field containing attribute values from
dimensionField Literal -
which an average value will be calculated.
◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- Calculate using Centroid of inputFeatures.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

421
Spatial Extension for GeoServer WPS 1.0

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:MeanCenter</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>caseField</ows:Identifier>

<wps:Data>

<wps:LiteralData>sgg_nm</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of analyzing the mean center of city and district in Seoul apartment.
422
Spatial Extension for GeoServer WPS 1.0
423
Spatial Extension for GeoServer WPS 1.0

4.4.2.2. Median Center


Returns the point at which the sum of the total distances is the smallest (Median Center) for all
features in the feature layer.
◼ Syntax

MedianCenter (SimpleFeatureCollection inputFeatures, String weightField, String

caseField, String attributeFields): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


A features for which the median center will be
inputFeatures Complex ✓
calculated.

The numeric field used to create a weighted median


weightField Literal -
cen ter.

The field used to group features for separate median


caseField Literal -
center calculations.
(Comma separated) Numeric field(s) for which the
attributeFields Literal -
data median value will be computed.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- Calculate using Centroid of inputFeatures.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
424
Spatial Extension for GeoServer WPS 1.0

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:MedianCenter</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>caseField</ows:Identifier>

<wps:Data>

<wps:LiteralData>sgg_nm</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of analyzing the Median Center by city and district for apartment distribution
in Seoul.
425
Spatial Extension for GeoServer WPS 1.0
426
Spatial Extension for GeoServer WPS 1.0

4.4.2.3. Central Feature

Returns the feature (Central Feature) with the smallest sum of total distances for all features in
the feature layer.
◼ Syntax

CentralFeature (SimpleFeatureCollection inputFeatures, DistanceMethod distanceMethod,

String weightField, String selfPotentialWeightField, String caseField):

SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The features containing a distribution of features

inputFeatures from which to identify the most centrally located Complex

✓ feature.
Specifies how distances are calculated from each

distanceMethod feature to neighboring features. Euclidean (default) Literal -

or Manhattan.
The numeric field used to weight distances in the
weightField Literal -
origin-destination distance matrix.
The field representing self-potential. The distance or
selfPotentialWeightField Literal -
weight between a feature and itself.

The field used to group features for separate central


caseField Literal -
feature computations.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- Calculate using Centroid of inputFeatures.


◼ Request Examples
427
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:CentralFeature</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>distanceMethod</ows:Identifier>

<wps:Data>

<wps:LiteralData>Euclidean</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>caseField</ows:Identifier>

<wps:Data>

<wps:LiteralData>sgg_nm</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>
<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

428
Spatial Extension for GeoServer WPS 1.0

This is the result of analyzing the Central Feature of each city and district in Seoul apartment.

429
Spatial Extension for GeoServer WPS 1.0

4.4.2.4. Standard Distance


Measures the degree to which all features in the feature layer are centered or scattered by the
Mean Center.
◼ Syntax

StandardDistance (SimpleFeatureCollection inputFeatures, String circleSize, String

weightField, String caseField): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The features containing a distribution of features for

inputFeatures which the standard deviational ellipse will be Complex

✓ calculated.
The size (1, 2, 3) of output circles in standard
circleSize Literal -
dev iations.

The numeric field used to weight locations according


weightField Literal -
to their relative importance.
The field used to group features for separate
caseField Literal -
standard distance calculations.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- Calculate using Centroid of inputFeatures.


- Circle generally includes features of 68% for 1_Standard_Deviation, 95% for

2_Standard_Deviation, and 99% for 3_Standard_Deviation.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"
430
Spatial Extension for GeoServer WPS 1.0

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:StandardDistance</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>circleSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>1_Standard_Deviation</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>caseField</ows:Identifier>

<wps:Data>

<wps:LiteralData>sgg_nm</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>
</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of analyzing Standard Distance by city and district for apartment distribution
in Seoul.

431
Spatial Extension for GeoServer WPS 1.0
432
Spatial Extension for GeoServer WPS 1.0

4.4.2.5. Standard Deviational Ellipse

Measures the degree to which all features in the feature layer are concentrated or centered by
the Mean Center and the orientation of the distribution.
◼ Syntax

StandardDeviationalEllipse (SimpleFeatureCollection inputFeatures, String ellipseSize,

String weightField, String caseField): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The features containing a distribution of features for

inputFeatures which the standard deviational ellipse will be Complex

✓ calculated.
The size (1, 2, 3) of output ellipses in standard
ellipseSize Literal -
dev iations.

The numeric field used to weight locations according


weightField Literal -
to their relative importance.
The field used to group features for separate
caseField Literal -
directional distribution calculations.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- Calculate using Centroid of inputFeatures.


- The Ellipse generally includes features of 68% for 1_Standard_Deviation, 95% for

2_Standard_Deviation, and 99% for 3_Standard_Deviation.

◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

433
Spatial Extension for GeoServer WPS 1.0

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:StandardDeviationalEllipse</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>ellipseSize</ows:Identifier>

<wps:Data>

<wps:LiteralData>1_Standard_Deviation</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>caseField</ows:Identifier>

<wps:Data>

<wps:LiteralData>sgg_nm</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>
</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
This is the result of analyzing Standard Deviational Ecclipse by city and district of

apartment distribution in Seoul. 434


Spatial Extension for GeoServer WPS 1.0
435
Spatial Extension for GeoServer WPS 1.0

4.4.2.6. Linear Directional Mean


Line feature Finds the geographic center, average length and orientation for all features in the
layer.
◼ Syntax

LinearDirectionalMean (SimpleFeatureCollection inputFeatures, Boolean orientationOnly,

String caseField): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The line features containing vectors for which the
inputFeatures Complex ✓
mean direction will be calculated.
The From and To nodes are utilized in calculating
orientationOnly Literal -
the mean .

The field used to group features for separate


caseField Literal -
directional mean calculations.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- inputFeatures must be a line feature type.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"
xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:LinearDirectionalMean</ows:Identifier>

<wps:DataInputs>

436
Spatial Extension for GeoServer WPS 1.0

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:line"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>orientationOnly</ows:Identifier>

<wps:Data>

<wps:LiteralData>True</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

Linear Directional Mean Analysis of Line Layer with Length and Direction

The result.
437
Spatial Extension for GeoServer WPS 1.0

4.4.3. Point Pattern Analysis

And processes for analyzing patterns using point data.


4.4.3.1. Nearest Neighbor Statistic
Calculates the Nearest Neighbor Index based on the average distance from the feature closest
to each feature in the feature layer.
◼ Syntax

NearestNeighborIndex (SimpleFeatureCollection inputFeatures, DistanceMethod

distanceMethod, Double area): NearestNeighborResult

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features. Complex ✓
Specifies how distances are calculated from each

distanceMethod feature to neighboring features: Euclidean (default) Literal -

or Manhattan.
area A numeric value representing the study area. Literal -

◼ Process Outputs

Identifier Description Type Required


result Result Nearest Neighbor Index Complex ✓

◼ Constraints

- Calculate using Centroid of inputFeatures.


- If you do not set the area parameter, use the Convex Hull Polygon area for

Centroid of inputFeatures.

- The output is returned as XML. If the returned Nearest Neighbor Ratio value

is 1, Random, if it is larger than 1, it is distributed. If it is smaller than 1, it is

concentrated.
438
Spatial Extension for GeoServer WPS 1.0

◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:NearestNeighborIndex</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>distanceMethod</ows:Identifier>

<wps:Data>

<wps:LiteralData>Euclidean</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>
</wps:Execute>

◼ Response

Analysis
of the
Average
Nearest
Neigbor
for
Apartme
nt
Distributi
on in
Seoul.

Format. It
can be
described
as Cluter
because
the
Nearest
Neighbor
Ratio is
less than
1

.439
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="utf-8"?>

<NearestNeighborIndex>

<TypeName>apartment</TypeName>

<Observed_Point_Count>4052</Observed_Point_Count>

<Study_Area>1.047557075141607E9</Study_Area>

<Observed_Mean_Distance>200.00446</Observed_Mean_Distance>

<Expected_Mean_Distance>254.22844</Expected_Mean_Distance>

<Nearest_Neighbor_Ratio>0.786712</Nearest_Neighbor_Ratio>

<Z_Score>-25.973484</Z_Score>

<P_Value>0.0</P_Value>

<Standard_Error>2.087667</Standard_Error>

</NearestNeighborIndex>
440
Spatial Extension for GeoServer WPS 1.0

4.4.3.2. Quadrat Method


Analyze point patterns using Quadrat analysis method.
◼ Syntax

QuadratAnalysis (SimpleFeatureCollection inputFeatures, Double cellSize): QuadratResult

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures The point features to be calculated. Complex ✓
cellSize The size of the grid cell. Literal -

◼ Process Outputs

Identifier Description Type Required


result The Result of quadrat analysis Complex ✓

◼ Constraints

- Calculate using Centroid of inputFeatures.

- If you do not set the cellSize parameter, use the following formula to calculate

the cell size:

Math.sqrt ((BBOX area of input Features * 2) / number of points)


◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">
<ows:Identifier>statistics:QuadratAnalysis</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

441
Spatial Extension for GeoServer WPS 1.0

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service="WFS" version="1.0.0" outputFormat="GML2"

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:gasstation" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of analyzing the Quadrate Method for the distribution of gas stations in Seoul
and is returned in XML format.

<?xml version="1.0" encoding="utf-8"?>

<QuadratAnalysis>

<TypeName>gasstation</TypeName>

<FeatureCount>587</FeatureCount>

<Area>1.4406602767217913E9</Area>

<CellSize>2215.5254234488443</CellSize>

<Columns>19</Columns>

<Rows>16</Rows>

<Number_of_Quadrats>304</Number_of_Quadrats>

<Mean>1.930921052631579</Mean>

<Variance>5.643254414819944</Variance>

<Variance_Mean_Ratio>2.9225712812696134</Variance_Mean_Ratio>

<Kolmogorov_Smirnov_Test>0.32209069225598863</Kolmogorov_Smirnov_Test>

<Critical_Value_at_5percent>0.078001349515991</Critical_Value_at_5percent>
</QuadratAnalysis>

442
Spatial Extension for GeoServer WPS 1.0

4.4.3.3. K-Nearest Neighbor Map


Creates a line feature layer that links the kth nearest feature from all features in the feature
layer.
◼ Syntax

KNearestNeighborMap (SimpleFeatureCollection inputFeatures, Integer neighbor, Boolean

convexHull): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features that can be point, line, polygon. Complex ✓
neighbor Number of Neighbors. Default is 1. Literal ✓
Add convex hull boundary to the output features.
convexHull Literal -
Default is True.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The Neighbor parameter must be 1 or greater and defaults to 1.


- The Output layer is a line feature type.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:KNearestNeighborMap</ows:Identifier>
443
Spatial Extension for GeoServer WPS 1.0

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:checkins"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>neighbor</ows:Identifier>

<wps:Data>

<wps:LiteralData>2</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>convexHull</ows:Identifier>

<wps:Data>

<wps:LiteralData>False</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

K-Nearest Neighbor result with the Neighbor parameter set to 2.


444
Spatial Extension for GeoServer WPS 1.0
445
Spatial Extension for GeoServer WPS 1.0

4.4.3.4. K-Means Clustering


All features in the feature layer are classified into K clusters using the K-Means Clustering
algorithm.
◼ Syntax

KMeansClustering (SimpleFeatureCollection inputFeatures, String targetField, Integer

numberOfClusters): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


inputFeatures Input features to be clustered. Complex ✓
The numeric cluster id field to be calculated. Default
targetField Literal ✓
is cluster

numberOfClusters The number of clusters to be grouped. Default is 5. Literal ✓

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- If you do not set the targetField parameter, the default cluster field is used.
- If you do not set the numberOfClusters parameter, use the default value of 5.
◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:KMeansClustering</ows:Identifier>
446
Spatial Extension for GeoServer WPS 1.0

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:apartment"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>targetField</ows:Identifier>

<wps:Data>

<wps:LiteralData>cluster</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>numberOfClusters</ows:Identifier>

<wps:Data>

<wps:LiteralData>5</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

This is the result of setting the point layer to 5 clusters.


447
Spatial Extension for GeoServer WPS 1.0
448
Spatial Extension for GeoServer WPS 1.0

4.4.4. Global Spatial Auto-Correlation


It consists of processes that analyze global spatial autocorrelation.
4.4.4.1. Join Count Statistic
Measure the global spatial autocorrelation of binary data (such as 1 or Black, 0, or White)
based on the field values of the feature layer.
◼ Syntax

JoinCount (SimpleFeatureCollection inputFeatures, Filter blackExpression, ContiguityType

contiguityType): JoinCountProcessResult

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The features for which join count statistics will be
inputFeatures Complex ✓
performed.

Black Expression for 1 or True (for Black) value ex)


blackExpression Complex ✓
[pop] > 1500.

Contiguity Type(Queen, Rook, Bishops). Default is


contiguityType Literal -
Queen.

◼ Process Outputs

Identifier Description Type Required


result Join Count Statistics. Complex ✓

◼ Constraints

- The blackExpression parameter can be any combination of fields or field combinations.


- Output is returned in XML.
◼ Request Examples

<?xml version="1.0" encoding="utf-8"?>

<wps:Execute version="1.0.0" service="WPS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://www.opengis.net/wps/1.0.0" xmlns:wfs="http://www.opengis.net/wfs"

449
Spatial Extension for GeoServer WPS 1.0

xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1"

xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc"

xmlns:wcs="http://www.opengis.net/wcs/1.1.1" xmlns:xlink="http://www.w3.org/1999/xlink"

xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:JoinCount</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:sgg" />

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>blackExpression</ows:Identifier>

<wps:Data>

<wps:ComplexData mimeType="text/plain; subtype=cql"><![CDATA[pop_den >

18890]]></wps:ComplexData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>contiguityType</ows:Identifier>

<wps:Data>

<wps:LiteralData>Queen</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>
</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

It is the result of analyzing the join count statistic by the queen method, and returns it in XML
format.

450
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="utf-8"?>

<JoinCountStatistics>

<TypeName>sgg</TypeName>

<ContiguityType>Queen</ContiguityType>

<FeatureCount>25</FeatureCount>

<BlackCount>11</BlackCount>

<WhiteCount>14</WhiteCount>

<NumberOfJoins>56</NumberOfJoins>

<ObservedBB>11</ObservedBB>

<ObservedWW>18</ObservedWW>

<ObservedBW>27</ObservedBW>

<ExpectedBB>10.8416</ExpectedBB>

<ExpectedWW>17.561600000000002</ExpectedWW>

<ExpectedBW>27.5968</ExpectedBW>

<StdDevBB>5.487588556005269</StdDevBB>

<StdDevWW>6.831669500202715</StdDevWW>

<StdDevBW>3.9479960283667954</StdDevBW>

<ZScoreBB>0.028865137825731742</ZScoreBB>

<ZScoreWW>0.06417172259094052</ZScoreWW>

<ZScoreBW>-0.15116529898002093</ZScoreBW>

</JoinCountStatistics>
451
Spatial Extension for GeoServer WPS 1.0

4.4.4.2. Moran’s I
Measure global Moran's I spatial autocorrelation based on the position and property values of
the feature layer.
◼ Syntax

GlobalMoransI (SimpleFeatureCollection inputFeatures, String inputField, SpatialConcept

spatialConcept, DistanceMethod distanceMethod, StandardizationMethod

standardization, Double searchDistance): MoransI

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The features for which spatial autocorrelation will be
inputFeatures Complex ✓
calculated.

The numeric field used in assessing spatial


inputField Literal ✓
autocorrelation.

Specifies how spatial relationships among features


spatialConcept Literal -
are conceptualized. Default is InverseDistance
Specifies how distances are calculated from each
distanceMethod Literal -
feature to neighboring features. Default is Euclidean
standardization Row standardization. Default is None Literal -
Specifies a cutoff distance for Inverse Distance and
searchDistance Literal -
Fixed Distance options.

◼ Process Outputs

Identifier Description Type Required


result Output XML. Complex ✓

◼ Constraints

- Output is returned in XML.


◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

452
Spatial Extension for GeoServer WPS 1.0

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:GlobalMoransI</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>a3_2005</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>spatialConcept</ows:Identifier>

<wps:Data>

<wps:LiteralData>InverseDistance</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>distanceMethod</ows:Identifier>

<wps:Data>

<wps:LiteralData>Euclidean</wps:LiteralData>

</wps:Data>
</wps:Input>

<wps:Input>

<ows:Identifier>standardization</ows:Identifier>

<wps:Data>

<wps:LiteralData>Row</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

453
Spatial Extension for GeoServer WPS 1.0

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

<?xml version="1.0" encoding="utf-8"?>

<MoransI>

<TypeName>korea_sgg</TypeName>

<PropertyName>a3_2005</PropertyName>

<Observed_Index>0.070175</Observed_Index>

<Expected_Index>-0.004292</Expected_Index>

<Variance>0.000203</Variance>

<Z_Score>5.230945</Z_Score>

<P_Value>0</P_Value>

<Conceptualization>InverseDistance</Conceptualization>

<DistanceMethod>Euclidean</DistanceMethod>

<RowStandardization>Row</RowStandardization>

<DistanceThreshold>191807.950591</DistanceThreshold>

</MoransI>
454
Spatial Extension for GeoServer WPS 1.0

4.4.4.3. Geary’s c

Measure the global Geary's c-space autocorrelation based on the position and property values
of the feature layer.
◼ Syntax

GlobalGearysC (SimpleFeatureCollection inputFeatures, String inputField, SpatialConcept

spatialConcept, DistanceMethod distanceMethod, StandardizationMethod

standardization, Double searchDistance): GearysC

◼ Parameters

Identifier Description Type Required


◼ Data Inputs
The features for which spatial autocorrelation will be
inputFeatures Complex ✓
calculated.

The numeric field used in assessing spatial


inputField Literal ✓
autocorrelation.

Specifies how spatial relationships among features


spatialConcept Literal -
are conceptualized. Default is InverseDistance
Specifies how distances are calculated from each
distanceMethod Literal -
feature to neighboring features. Default is Euclidean
standardization Row standardization. Default is None Literal -
Specifies a cutoff distance for Inverse Distance and
searchDistance Literal -
Fixed Distance options.

◼ Process Outputs

Identifier Description Type Required


result Output XML. Complex ✓

◼ Constraints

- Output is returned in XML.


◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

455
Spatial Extension for GeoServer WPS 1.0

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:GlobalGearysC</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>a3_2005</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>spatialConcept</ows:Identifier>

<wps:Data>

<wps:LiteralData>InverseDistance</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>distanceMethod</ows:Identifier>

<wps:Data>

<wps:LiteralData>Euclidean</wps:LiteralData>

</wps:Data>
</wps:Input>

<wps:Input>

<ows:Identifier>standardization</ows:Identifier>

<wps:Data>

<wps:LiteralData>Row</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

456
Spatial Extension for GeoServer WPS 1.0

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

<?xml version="1.0" encoding="utf-8"?>

<GlobalGearysC>

<TypeName>korea_sgg</TypeName>

<PropertyName>a3_2005</PropertyName>

<Observed_Index>0.908981</Observed_Index>

<Expected_Index>1</Expected_Index>

<Variance>0.00029</Variance>

<Z_Score>-5.341097</Z_Score>

<P_Value>0</P_Value>

<Conceptualization>InverseDistance</Conceptualization>

<DistanceMethod>Euclidean</DistanceMethod>

<RowStandardization>Row</RowStandardization>

<DistanceThreshold>191807.950591</DistanceThreshold>

</GlobalGearysC>
457
Spatial Extension for GeoServer WPS 1.0

4.4.4.4. Getis-Ord’s General G


Measure the global Getis-Ord General G spatial autocorrelation based on the position and
property values of the feature layer.
◼ Syntax

GlobalGStatistics (SimpleFeatureCollection inputFeatures, String inputField,

SpatialConcept spatialConcept, DistanceMethod distanceMethod, StandardizationMethod

standardization, Double searchDistance): GeneralG

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The features for which spatial autocorrelation will be
inputFeatures Complex ✓
calculated.

The numeric field used in assessing spatial


inputField Literal ✓
autocorrelation.

Specifies how spatial relationships among features


spatialConcept Literal -
are conceptualized. Default is InverseDistance
Specifies how distances are calculated from each
distanceMethod Literal -
feature to neighboring features. Default is Euclidean
standardization Row standardization. Default is None Literal -
Specifies a cutoff distance for Inverse Distance and
searchDistance Literal -
Fixed Distance options.

◼ Process Outputs

Identifier Description Type Required


result Output XML. Complex ✓

◼ Constraints

- Output is returned in XML.


◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"
458
Spatial Extension for GeoServer WPS 1.0

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:GlobalGStatistics</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>a3_2005</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>spatialConcept</ows:Identifier>

<wps:Data>

<wps:LiteralData>InverseDistance</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>distanceMethod</ows:Identifier>

<wps:Data>
<wps:LiteralData>Euclidean</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>standardization</ows:Identifier>

<wps:Data>

<wps:LiteralData>Row</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

459
Spatial Extension for GeoServer WPS 1.0

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

<?xml version="1.0" encoding="utf-8"?>

<GStatistics>

<TypeName>korea_sgg</TypeName>

<PropertyName>a3_2005</PropertyName>

<Observed_Index>0.004492</Observed_Index>

<Expected_Index>0.004292</Expected_Index>

<Variance>0</Variance>

<Z_Score>4.275913</Z_Score>

<P_Value>0.000019</P_Value>

<Conceptualization>InverseDistance</Conceptualization>

<DistanceMethod>Euclidean</DistanceMethod>

<RowStandardization>Row</RowStandardization>

<DistanceThreshold>191807.950591</DistanceThreshold>

</GStatistics>
460
Spatial Extension for GeoServer WPS 1.0

4.4.4.5. Lee's S

Measure the global Lee's S-space autocorrelation based on the position and property values of
the feature layer.
◼ Syntax

GlobalLeesS (SimpleFeatureCollection inputFeatures, String inputField, SpatialConcept

spatialConcept, DistanceMethod distanceMethod, StandardizationMethod

standardization, Double searchDistance): LeesS

◼ Parameters

Identifier Description Type Required


◼ Data Inputs
The features for which spatial autocorrelation will be
inputFeatures Complex ✓
calculated.

The numeric field used in assessing spatial


inputField Literal ✓
autocorrelation.

Specifies how spatial relationships among features


spatialConcept Literal -
are conceptualized. Default is InverseDistance
Specifies how distances are calculated from each
distanceMethod Literal -
feature to neighboring features. Default is Euclidean
standardization Row standardization. Default is None Literal -
Specifies a cutoff distance for Inverse Distance and
searchDistance Literal -
Fixed Distance options.

◼ Process Outputs

Identifier Description Type Required


result Output XML. Complex ✓

◼ Constraints

- Output is returned in XML.


◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

461
Spatial Extension for GeoServer WPS 1.0

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:GlobalLeesS</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>a3_2005</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>spatialConcept</ows:Identifier>

<wps:Data>

<wps:LiteralData>InverseDistance</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>distanceMethod</ows:Identifier>

<wps:Data>

<wps:LiteralData>Euclidean</wps:LiteralData>

</wps:Data>
</wps:Input>

<wps:Input>

<ows:Identifier>standardization</ows:Identifier>

<wps:Data>

<wps:LiteralData>Row</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

462
Spatial Extension for GeoServer WPS 1.0

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

<?xml version="1.0" encoding="utf-8"?>

<GlobalLeesS>

<TypeName>korea_sgg</TypeName>

<PropertyName>a3_2005</PropertyName>

<Observed_Index>0.065413</Observed_Index>

<Expected_Index>0.090566</Expected_Index>

<Variance>0</Variance>

<Z_Score>0</Z_Score>

<P_Value>1</P_Value>

<Conceptualization>InverseDistance</Conceptualization>

<DistanceMethod>Euclidean</DistanceMethod>

<RowStandardization>Row</RowStandardization>

<DistanceThreshold>191807.950591</DistanceThreshold>

</GlobalLeesS>
463
Spatial Extension for GeoServer WPS 1.0

4.4.4.6. Lee's L
Measure the global Lee's L spatial autocorrelation based on the position of the feature layer
and the values of the two properties.
◼ Syntax

GlobalLeesL (SimpleFeatureCollection inputFeatures, String xField, String yField,

SpatialConcept spatialConcept, DistanceMethod distanceMethod, StandardizationMethod

standardization, Double searchDistance): LeesL

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The features for which spatial autocorrelation will be
inputFeatures Complex ✓
calculated.

The numeric x field used in assessing spatial


xField Literal ✓
autocorrelation.
The numeric y field used in assessing spatial
yField Literal ✓
autocorrelation.
Specifies how spatial relationships among features
spatialConcept Literal -
are conceptualized. Default is InverseDistance
Specifies how distances are calculated from each
distanceMethod Literal -
feature to neighboring features. Default is Euclidean
standardization Row standardization. Default is None Literal -
Specifies a cutoff distance for Inverse Distance and
searchDistance Literal -
Fixed Distance options.

◼ Process Outputs

Identifier Description Type Required


result Output XML. Complex ✓

◼ Constraints

- Output is returned in XML.

◼ Request Examples
464
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:GlobalLeesL</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>a3_2005</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>spatialConcept</ows:Identifier>

<wps:Data>

<wps:LiteralData>InverseDistance</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>
<ows:Identifier>distanceMethod</ows:Identifier>

<wps:Data>

<wps:LiteralData>Euclidean</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>standardization</ows:Identifier>

<wps:Data>

<wps:LiteralData>Row</wps:LiteralData>

</wps:Data>

465
Spatial Extension for GeoServer WPS 1.0

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType="text/xml">

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response

<?xml version="1.0" encoding="utf-8"?>

<GlobalLeesL>

<TypeName>korea_sgg</TypeName>

<PropertyName>a + b</PropertyName>

<Observed_Index>0.42206509</Observed_Index>

<Expected_Index>0.090566</Expected_Index>

<Variance>0</Variance>

<Z_Score>0</Z_Score>

<P_Value>1</P_Value>

<Conceptualization>0.42206509</Conceptualization>

<DistanceMethod>Euclidean</DistanceMethod>

<RowStandardization>Row</RowStandardization>

<DistanceThreshold>0</DistanceThreshold>

</GlobalLeesL>
466
Spatial Extension for GeoServer WPS 1.0

4.4.5. Local Spatial Auto-Correlation


And processes for analyzing local spatial autocorrelation.
4.4.5.1. Local Moran’s I
Use Anselin's local Moran's I statistic from the feature layer to identify statistically significant
hot spots, cold spots, and spatial outliers.
◼ Syntax

LocalMoransI (SimpleFeatureCollection inputFeatures, String inputField, SpatialConcept

spatialConcept, DistanceMethod distanceMethod, StandardizationMethod

standardization, Double searchDistance): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The features for which spatial autocorrelation will be
inputFeatures Complex ✓
calculated.

The numeric field used in assessing spatial


inputField Literal ✓
autocorrelation.

Specifies how spatial relationships among features


spatialConcept Literal -
are conceptualized. Default is InverseDistance
Specifies how distances are calculated from each
distanceMethod Literal -
feature to neighboring features. Default is Euclidean
standardization Row standardization. Default is None Literal -
Specifies a cutoff distance for Inverse Distance and
searchDistance Literal -
Fixed Distance options.
◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

467
Spatial Extension for GeoServer WPS 1.0

- The Output layer contains all the fields of inputFeatures and adds LMiIndex,

LMiZScore, LMiPValue, LMizValue, LMiwzValue, and COType fields.

◼ Request Examples

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:LocalMoransI</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>a3_2005</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>spatialConcept</ows:Identifier>

<wps:Data>
<wps:LiteralData>InverseDistance</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>distanceMethod</ows:Identifier>

<wps:Data>

<wps:LiteralData>Euclidean</wps:LiteralData>

</wps:Data>

468
Spatial Extension for GeoServer WPS 1.0

</wps:Input>

<wps:Input>

<ows:Identifier>standardization</ows:Identifier>

<wps:Data>

<wps:LiteralData>Row</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
469
Spatial Extension for GeoServer WPS 1.0

4.4.5.2. Local G (Gi*)


Identify statistically significant hot spots and cold spots using the local Getis-Ord Gi * statistic
from the feature layer.
◼ Syntax

LocalGStatistics (SimpleFeatureCollection inputFeatures, String inputField, SpatialConcept

spatialConcept, DistanceMethod distanceMethod, StandardizationMethod

standardization, Double searchDistance): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs

Identifier Description Type Required


The features for which spatial autocorrelation will be
inputFeatures Complex ✓
calculated.

The numeric field used in assessing spatial


inputField Literal ✓
autocorrelation.

Specifies how spatial relationships among features


spatialConcept Literal -
are conceptualized. Default is InverseDistance
Specifies how distances are calculated from each
distanceMethod Literal -
feature to neighboring features. Default is Euclidean
standardization Row standardization. Default is None Literal -
Specifies a cutoff distance for Inverse Distance and
searchDistance Literal -
Fixed Distance options.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The Output layer contains all the fields of inputFeatures and adds the fields

GiZScore, GiMean, GiVar, and GiPValue.

◼ Request Examples
470
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:LocalGStatistics</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:emd"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>pts</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>spatialConcept</ows:Identifier>

<wps:Data>

<wps:LiteralData>InverseDistance</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>
<ows:Identifier>distanceMethod</ows:Identifier>

<wps:Data>

<wps:LiteralData>Euclidean</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>standardization</ows:Identifier>

<wps:Data>

<wps:LiteralData>Row</wps:LiteralData>

</wps:Data>

471
Spatial Extension for GeoServer WPS 1.0

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
472
Spatial Extension for GeoServer WPS 1.0

4.4.5.3. Local Geary’s c


Calculate the local Geary's c statistic from the feature layer.
◼ Syntax

LocalGearysC (SimpleFeatureCollection inputFeatures, String inputField, SpatialConcept

spatialConcept, DistanceMethod distanceMethod, StandardizationMethod

standardization, Double searchDistance): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The features for which spatial autocorrelation will be
inputFeatures Complex ✓
calculated.

The numeric field used in assessing spatial


inputField Literal ✓
autocorrelation.

Specifies how spatial relationships among features


spatialConcept Literal -
are conceptualized. Default is InverseDistance
Specifies how distances are calculated from each
distanceMethod Literal -
feature to neighboring features. Default is Euclidean
standardization Row standardization. Default is None Literal -
Specifies a cutoff distance for Inverse Distance and
searchDistance Literal -
Fixed Distance options.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The Output layer contains all the fields of inputFeatures and adds the fields

LGcIndex, LGcZScore, and LGcPValue.

◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

473
Spatial Extension for GeoServer WPS 1.0

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:LocalGearysC</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:korea_sgg"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>a3_2005</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>spatialConcept</ows:Identifier>

<wps:Data>

<wps:LiteralData>InverseDistance</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>distanceMethod</ows:Identifier>

<wps:Data>
<wps:LiteralData>Euclidean</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>standardization</ows:Identifier>

<wps:Data>

<wps:LiteralData>Row</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

474
Spatial Extension for GeoServer WPS 1.0

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
475
Spatial Extension for GeoServer WPS 1.0

4.4.5.4. Lee's Si
Calculates the local Lee's S statistic from the feature layer.
◼ Syntax

LocalLeesS (SimpleFeatureCollection inputFeatures, String inputField, SpatialConcept

spatialConcept, DistanceMethod distanceMethod, StandardizationMethod

standardization, Double searchDistance): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The features for which spatial autocorrelation will be
inputFeatures Complex ✓
calculated.

The numeric field used in assessing spatial


inputField Literal ✓
autocorrelation.

Specifies how spatial relationships among features


spatialConcept Literal -
are conceptualized. Default is InverseDistance
Specifies how distances are calculated from each
distanceMethod Literal -
feature to neighboring features. Default is Euclidean
standardization Row standardization. Default is None Literal -
Specifies a cutoff distance for Inverse Distance and
searchDistance Literal -
Fixed Distance options.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The Output layer contains all the fields of inputFeatures and adds the

LLsIndex, LLsZScore, and LLsPValue fields.

◼ Request Examples
<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

476
Spatial Extension for GeoServer WPS 1.0

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:LocalLeesS</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:emd"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>inputField</ows:Identifier>

<wps:Data>

<wps:LiteralData>pts</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>spatialConcept</ows:Identifier>

<wps:Data>

<wps:LiteralData>InverseDistance</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>distanceMethod</ows:Identifier>

<wps:Data>
<wps:LiteralData>Euclidean</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>standardization</ows:Identifier>

<wps:Data>

<wps:LiteralData>Row</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

477
Spatial Extension for GeoServer WPS 1.0

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
478
Spatial Extension for GeoServer WPS 1.0

4.4.5.5. Lee's Li

Calculate the local Lee's L statistic from the feature layer and the values of both attributes.
◼ Syntax

LocalLeesL (SimpleFeatureCollection inputFeatures, String xField, String yField,

SpatialConcept spatialConcept, DistanceMethod distanceMethod, StandardizationMethod

standardization, Double searchDistance): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The features for which spatial autocorrelation will be
inputFeatures Complex ✓
calculated.

The numeric x field used in assessing spatial


xField Literal ✓
autocorrelation.
The numeric y field used in assessing spatial
yField Literal ✓
autocorrelation.
Specifies how spatial relationships among features
spatialConcept Literal -
are conceptualized. Default is InverseDistance
Specifies how distances are calculated from each
distanceMethod Literal -
feature to neighboring features. Default is Euclidean
standardization Row standardization. Default is None Literal -
Specifies a cutoff distance for Inverse Distance and
searchDistance Literal -
Fixed Distance options.

◼ Process Outputs

Identifier Description Type Required


result Output features. Complex ✓

◼ Constraints

- The Output layer contains all the fields of inputFeatures, including LLlIndex, LLlZScore,

The LLlPValue field is added.


◼ Request Examples

479
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0"

xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gml="http://www.opengis.net/gml"

xmlns:ogc="http://www.opengis.net/ogc" xmlns:wcs="http://www.opengis.net/wcs/1.1.1"

xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0

http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd">

<ows:Identifier>statistics:LocalLeesL</ows:Identifier>

<wps:DataInputs>

<wps:Input>

<ows:Identifier>inputFeatures</ows:Identifier>

<wps:Reference mimeType="text/xml" xlink:href="http://geoserver/wfs" method="POST">

<wps:Body>

<wfs:GetFeature service=“WFS” version=“1.1.0” outputFormat=“GML3”

xmlns:foss="http://www.opengeospatial.net/foss">

<wfs:Query typeName="foss:hexa2009"/>

</wfs:GetFeature>

</wps:Body>

</wps:Reference>

</wps:Input>

<wps:Input>

<ows:Identifier>xField</ows:Identifier>

<wps:Data>

<wps:LiteralData>a2009</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>yField</ows:Identifier>

<wps:Data>

<wps:LiteralData>b2009</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>
<ows:Identifier>spatialConcept</ows:Identifier>

<wps:Data>

<wps:LiteralData>ContiguityEdgesNodes</wps:LiteralData>

</wps:Data>

</wps:Input>

<wps:Input>

<ows:Identifier>distanceMethod</ows:Identifier>

<wps:Data>

<wps:LiteralData>Euclidean</wps:LiteralData>

</wps:Data>

480
Spatial Extension for GeoServer WPS 1.0

</wps:Input>

<wps:Input>

<ows:Identifier>standardization</ows:Identifier>

<wps:Data>

<wps:LiteralData>Row</wps:LiteralData>

</wps:Data>

</wps:Input>

</wps:DataInputs>

<wps:ResponseForm>

<wps:RawDataOutput mimeType=“text/xml; subtype=wfs-collection/1.1”>

<ows:Identifier>result</ows:Identifier>

</wps:RawDataOutput>

</wps:ResponseForm>

</wps:Execute>

◼ Response
481
Spatial Extension for GeoServer WPS 1.0

4.4.6. Global Spatial Modeling


It consists of processes that analyze global spatial modeling and spatial relationships.
4.4.6.1. Ordinary Least Squares (OLS) Perform Ordinary

Least Squares (OLS).

◼ Syntax

OrdinaryLeastSquares (SimpleFeatureCollection inputFeatures, String dependentVariable,

String explanatoryVariables): SimpleFeatureCollection

◼ Parameters

◼ Data Inputs
Identifier Description Type Required
The features containing the dependent and
inputFeatures Complex ✓
independent variables for analysis.
The numeric field containing values for what you are
dependentVariable Literal ✓
trying to model.

The comma separated fields representing


explanatoryVariables Literal ✓
explanatory variables in your regression model.

◼ Process Outputs
Identifier Description Type Required
The output features to receive dependent variable
olsFeatures Complex
estimates and residuals.
report Output OLS results. Complex ✓

◼ Constraints

- The olsFeatures layer contains all the fields of inputFeatures and adds the

Estimated, Residual, StdResid, and StdResid2 fields.

- The report results are returned in XML.


◼ Request Examples
482
Spatial Extension for GeoServer WPS 1.0

<?xml version="1.0" encoding="UTF-8"?><wps:Execute version="1.0.0" service="WPS"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opengis.net/wps/1.0.0"

xmlns:wfs="http://www.opengis.net/wfs" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:

>

<wps:Data></wps:Execute>

◼ Response

⚫ 지도

⚫ XML

<?xml version="1.0" encoding="utf-8"?>

<OrdinaryLeastSquares>

<Diagnostics>

<R>0.6101560399292024</R>

<RSquared>0.3722903930620865</RSquared>

<AdjustedRSquared>0.3290000753422304</AdjustedRSquared>

<StandardError>12.933848555707566</StandardError>

<NumberOfObservations>63</NumberOfObservations>

<AIC>508.1174991231418</AIC>

<AICc>509.6174991231418</AICc>
</Diagnostics>

<Variance>

<Regression>

<DegreesOfFreedom>4</DegreesOfFreedom>

483
Spatial Extension for GeoServer WPS 1.0

<SumOfSquare>5754.486696189348</SumOfSquare>

<SquareMean>1438.621674047337</SquareMean>

<FStatistic>8.599853562435902</FStatistic>

<FProbability>1.609736408525464E-5</FProbability>

</Regression>

<Residual>

<DegreesOfFreedom>58</DegreesOfFreedom>

<SumOfSquare>9702.497430794765</SumOfSquare>

<SquareMean>167.2844384619787</SquareMean>

</Residual>

<Sum>

<DegreesOfFreedom>62</DegreesOfFreedom>

<SumOfSquare>15456.984126984113</SumOfSquare>

</Sum>

</Variance>

<Variables>

<Item>

<Variable>Intercept</Variable>

<Coefficient>1.8149624761790997</Coefficient>

<StdError>2.256350184412793</StdError>

<TStatistic>0.8043797849806887</TStatistic>

<Probability>0.42445922884684884</Probability>

</Item>

<Item>

<Variable>etc</Variable>

<Coefficient>6.922393697035605</Coefficient>

<StdError>1.217664912349127</StdError>

<TStatistic>5.684974270697246</TStatistic>

<Probability>5.13680658710916E-7</Probability>

</Item>

<Item>

<Variable>ccc</Variable>

<Coefficient>-0.2585330201573057</Coefficient>

<StdError>0.4672538188264545</StdError>
<TStatistic>-0.5533031721530541</TStatistic>

<Probability>0.5821837017619861</Probability>

</Item>

<Item>

<Variable>mlbflb</Variable>

<Coefficient>-0.04321817419824479</Coefficient>

<StdError>2.571603704239341</StdError>

<TStatistic>-0.01680592313932304</TStatistic>

<Probability>0.9866481737384326</Probability>

484
Spatial Extension for GeoServer WPS 1.0

</Item>

<Item>

<Variable>airport</Variable>

<Coefficient>-2.3644517041718496</Coefficient>

<StdError>2.64338529816144</StdError>

<TStatistic>-0.8944786466870351</TStatistic>

<Probability>0.3747591210649666</Probability>

</Item>

</Variables>

</OrdinaryLeastSquares>
485
Spatial Extension for GeoServer WPS 1.0

5 Web Processing Service Demo Application

5.1. Introduction

5.1.1. Goal

The purpose of this demo program is as follows.

⚫ Configure analysis function to utilize WPS (Web Processing Service) in

JavaScript environment

⚫ OpenLayers13 3 For the vector layer that was developed in the

environment of the WPS result, visualization is made using the vector

styling function provided by OpenLayers 3

⚫ Sample spatial data is different from actual data and can not be used for

research or business.

5.1.2. Open Source Libraries & Programs


The open source libraries, programs and open background maps used in the demonstration
program are as follows.
division Open source Remarks
OpenLayers 3.13.1
JavaScript
Bootstrap 3.3.6
Client
jQuery 1.12.0 / 2.2.0 + jQuery UI 1.11.4
geostats 1.5.0
evol.colorpicker 2.3.4
PostgreSQL 9.2 + PostGIS 2.0.3
Server
GeoTools 13.6 + GeoServer 2.8.5 + WPS Extension
OpenGDS/Analysis WPS Extension
Apache Tomcat 7 or 8
Open Street Map + Open Cycle Map
Base Maps
Stamen Design
MapBox + CartoDB
V-World Map

13
http://openlayers.org/
486
Spatial Extension for GeoServer WPS 1.0

Icons GeoSilk

5.1.3. Spatial Data


The data list, type, coordinate system, spatial extent and source used in the demonstration
program are as follows.
테이블명 설명 유형 좌표체계 공간범위 비고
apartment 아파트 Point EPSG:3857 서울특별시 POI 수집
bank 은행 Point EPSG:3857 전국 POI 수집
bugerking 버거킹 Point EPSG:3857 전국 POI 수집
checkins 체크인 Point EPSG:3857 전국 POI 수집
dunkindonuts 던킨도너츠 Point EPSG:3857 전국 POI 수집
earthquake 지진발생 현황 Point EPSG:3857 대한민국 기상청
emd 읍면동 경계 Polygon EPSG:3857 서울특별시 통계청
emd_points 읍면동 중심점 Point EPSG:3857 서울특별시 통계청
enterprise 1,000 대 기업 Point EPSG:3857 전국 POI 수집
gasstation 주유소 Point EPSG:3857 서울특별시 POI 수집
golf 골프장 Point EPSG:3857 전국 POI 수집
hospital 병원 Point EPSG:3857 서울특별시 POI 수집
kfc KFC Point EPSG:3857 전국 POI 수집
korea_sgg 시군구 경계 Polygon EPSG:3857 전국 통계청
line 라인 Line EPSG:3857 서울특별시 -
lotteria 롯데리아 Point EPSG:3857 전국 POI 수집
market 시장 Point EPSG:3857 서울특별시 POI 수집
mcdonalds 맥도날드 Point EPSG:3857 전국 POI 수집
metro 수도권 경계 Polygon EPSG:3857 수도권 통계청
overlay01 폴리곤 1 Polygon EPSG:3857 서울특별시 -
overlay02 폴리곤 2 Polygon EPSG:3857 서울특별시 -
pubs 주점 Point EPSG:3857 서울특별시 서울시
randomsgg 랜덤 경계 Polygon EPSG:3857 서울특별시 -
road 주요도로 Line EPSG:3857 서울특별시 교통 DB
school 학교 Point EPSG:3857 서울특별시 POI 수집
seoul_series 서울 시군구경계 Polygon EPSG:3857 서울특별시 통계청
sgg 서울 시군구경계 Polygon EPSG:3857 서울특별시 통계청
sid 서울 시도경계 Polygon EPSG:3857 서울특별시 통계청
stations 지하철/철도역 Point EPSG:3857 전국 POI 수집
stores 대형매장 Point EPSG:3857 서울특별시 POI 수집
theaters 극장 Point EPSG:3857 서울특별시 POI 수집
toxic_office 위험물배출업소 Point EPSG:3857 서울특별시 서울시
wardoffice 서울 시군구청 Point EPSG:3857 서울특별시 POI 수집

487
Spatial Extension for GeoServer WPS 1.0

5.1.4. How to install


PostgreSQL + PostGIS, Tomcat 7 or later, and GeoServer 2.8.5 must be installed before
installing.

5.1.4.1. Downloads
Download the necessary files for installation from the following URL and unzip it.
⚫ Download: https://sourceforge.net/projects/mango-

spatialstatistics/files/GeoServer/demo/GeoServer-WPS-Demo.zip
The unpacked folder consists of the following three folders.
⚫ PostGIS-2.0: statistics.backup 파일

⚫ GeoServer-2.8.5: GeoServer data directory related files

⚫ Tomcat: Demo app

5.1.4.2. PostGIS
Create a spatial database named statistics in the PostGIS database to be used, and restore the
downloaded statistics.backup file.

488
Spatial Extension for GeoServer WPS 1.0

5.1.4.3. GeoServer
Copy the downloaded data, styles, and workspaces folders to the GeoServer's Data Directory
and restart GeoServer.

You should now check PostGIS connection information.

First, go to the "Storage" page and edit the statistics repository as follows:

On the Modify page, change the user and passwd information to the PostGIS account that you
installed

Then save.

489
Spatial Extension for GeoServer WPS 1.0

Now go to the [Server Status] page and press the [Reload] button at the bottom to activate all
layers. If the layer is not activated on the [Layer] page as below, please check the connection
information again.

5.1.4.4. Web Apps.


Unzip the wpsol3.zip file into the webapps folder of Tomcat and copy the folder.
Navigate to the javascript folder in the wpsol3 folder, import the map.js file into a text editor,
and modify the following entry to the GeoServer URL.

var SERVER = '127.0.0.1:8080';

Now open your browser and go to wpsol3 (eg http://127.0.0.1:8080/wpsol3/). If the following screen is
displayed normally, installation is completed.

490
Spatial Extension for GeoServer WPS 1.0
491
Spatial Extension for GeoServer WPS 1.0

5.2. Examples
Open a web browser and go to http://127.0.0.1:8080/wpsol3 site and go to the following initial screen. The
menu consists of General, D1 ~ D5 (will be updated continuously).

5.2.1. General
It consists of metadata and theme drawing tools for layers and WPS processes.

5.2.1.1. Clear All Layers


Removes all layers currently added to the map and initializes the background map.

5.2.1.2. Add Layers - Metadata


You can query the property information of all the sample data registered in the server and add
it to WMS or WFS layer.

492
Spatial Extension for GeoServer WPS 1.0

5.2.1.3. Style Vector Layer


Support styling of vector layers as a result of WFS layer or WPS analysis, create single symbols
or thematic diagrams.

493
Spatial Extension for GeoServer WPS 1.0

5.2.1.4. Style Vector Layer - Extrude


You can apply 2.5D Extrusion styling using WFS layer or WPS analysis vector layer property
values.

5.2.1.5. Available WPS Processes


You can check the outline, input and output parameters of WPS provided by the server.

494
Spatial Extension for GeoServer WPS 1.0

5.2.1.6. About
You can find information about the current demo program.

495
Spatial Extension for GeoServer WPS 1.0

5.2.2. D1

A spatial statistical analysis function that can analyze the distribution pattern of data.
5.2.2.1. Mean Center
This function analyzes the Mean Center of point data.
The following example is the result of analyzing the Mean Center of Seoul apartment data.

496
Spatial Extension for GeoServer WPS 1.0

5.2.2.2. Median Center


This function analyzes the median center of point data.
The following example is an analysis of the Median Center, which distinguishes apartment data
in Seoul.
497
Spatial Extension for GeoServer WPS 1.0

5.2.2.3. Central Feature


Analyzes the Central Feature of point data.
The following example is the result of analyzing the central feature of Seoul apartment

data.

The Central Feature is chosen from the features of the source data, so if more than one feature
is in the same location, one or more features can be selected.

498
Spatial Extension for GeoServer WPS 1.0

5.2.2.4. Standard Distance


This function analyzes the Standard Distance of point data.
The following example is the result of analyzing the standard distance of Seoul apartment
data. The Circle Size contains about 1 = 68%, 2 = 95%, and 3 = 99% of the original data.

499
Spatial Extension for GeoServer WPS 1.0

5.2.2.5. Standard Deviational Ellipse


It is a function to analyze Standard Deviational Ellipse of point data.
The following example is the result of analyzing Standard Deviational Ellipse which distinguish
apartment data in Seoul. The Ellipse Size contains approximately 1 = 68%, 2 = 95%, 3 = 99%
of the original data and, unlike the Standard Distance, you can check the directionality of the
data distribution.

500
Spatial Extension for GeoServer WPS 1.0

5.2.2.6. Linear Directional Mean


This function analyzes the average length and directionality (Linear Directional Mean) of line
data.

501
Spatial Extension for GeoServer WPS 1.0

5.2.3. D2

5.2.3.1. Choropleth Map


It is the ability to load a single layer of the server to create a thematic diagram.
The following example shows the 2005 population growth rate (a3_2005) of the national city
area data as Natural Breaks

You can select the Equal Interval, Quantile, Standard deviation and the color palette provided
by Color Brewer14.

14
http://colorbrewer2.org/

502
Spatial Extension for GeoServer WPS 1.0

5.2.3.2. Global Spatial AutoCorrelation


The ability to analyze global spatial autocorrelation for a single layer of the server.

Currently, Moran's I, Getis-Ord's G, Geary's c, and Lee's S provide four analytical techniques.

5.2.3.3. Local Spatial AutoCorrelation


It is a function that expresses local spatial autocorrelation for a single layer of server and then
displays it in LISA Map. Currently, Moran's I, Getis-Ord's G, Geary's c, and Lee's S provide four
analytical techniques, and you can see the color and legend displays for each.

503
Spatial Extension for GeoServer WPS 1.0

5.2.3.4. Point Aggregation -> Point Symbolizer


This is an example of WPS Chaining15 that calculates the number of features in the point layer
included in each feature of the polygon layer and then creates the themogram with the size of
the point symbol.

5.2.3.5. Point Aggregation -> Choropleth Map


This is an example of WPS Chaining that calculates the number of features in the point layer
included in each feature of the polygon layer and then creates the motif.

15 Sequential connection of multiple processes, such as modelers or model builders, such as


ArcGIS and QGIS,

You can configure the process.


504
Spatial Extension for GeoServer WPS 1.0

5.2.3.6. Point Aggregation -> Global Spatial AutoCorrelation


It calculates the number of features of the point layer included in each feature of the polygon
layer, and analyzes the global spatial autocorrelation using the number of points calculated in
the polygon layer.

5.2.3.7. Point Aggregation -> Local Spatial AutoCorrelation


The feature number of the point layer included in each feature of the polygon layer is
calculated, and the number of points is expressed by the LISA Map after the local spatial
autocorrelation analysis.

505
Spatial Extension for GeoServer WPS 1.0

5.2.3.8. Hexagonal Grids -> Point Aggregation - Choropleth Map


An example of creating a hexagonal grid based on a specific area, calculating the number of
point features in each cell in the grid, and then creating a thematic view.

5.2.3.9. Hexagonal Grids -> Point Aggregation -> Global Spatial AutoCorrelation

An example of generating a hexagonal grid based on a specific region, calculating the

number of point features in each cell in the grid, and then analyzing global spatial

autocorrelation.

506
Spatial Extension for GeoServer WPS 1.0

5.2.3.10. Hexagonal Grids -> Point Aggregation -> Local Spatial

AutoCorrelation

It is a function to generate a hexagonal grid based on a specific region, to calculate the


number of point features in each cell of the grid, and then to analyze the local spatial
autocorrelation and express it as a LISA Map.

5.2.3.11. Standardized Score of Dissimilarity


It is a function that calculates the score (concentration) by using 2 fields (whole industry,
specific industry, etc.) for a single layer of the server, and the standardized image expresses
the theme.

507
Spatial Extension for GeoServer WPS 1.0

5.2.3.12. Focal Location Quotients


Focal Location Quotients is calculated by using two fields (whole industry, specific industries,
etc.) for a single layer of server and expressing them on the subject.

508
Spatial Extension for GeoServer WPS 1.0

5.2.4. D3

5.2.4.1. Summarize Nearby -> Point Symbolizer


This function calculates the number of features of the point layer included in the buffer
distance from the reference point layer, and expresses the number of features by point symbol
by dividing the number of features.
The following is an example of the number of gas stations within 300 meters of a school and a
thematic map.

5.2.4.2. Buffer -> Point Aggregation -> Polygon Symbolizer


It is a function to calculate the number of points included in the buffer after buffering the
reference point layer, and to create the motif after delimitation.
The following is an example of the calculation of the number of apartments within 1 km of a
large store and then drawing a thematic map.

509
Spatial Extension for GeoServer WPS 1.0

5.2.4.3. Multiple Ring Buffer -> Point Aggregation -> Polygon Symbolizer It is a

function that generates buffering according to the distance separated by a comma

in the point layer, calculates the number of points included in each ring, and creates

a motif.

5.2.4.4. Polar Grids -> Point Aggregation -> Polygon Symbolizer


Polar grid is created according to the distance separated by a comma in the point layer, and
the number of points included in each cell is calculated and institutionalized.
510
Spatial Extension for GeoServer WPS 1.0

5.2.4.5. Sum Line Length -> Polygon Symbolizer


This function calculates the number of line features intersecting the polygon feature and the
total distance (calculated by Clip) using the polygon layer and line layer.

The following is an example of creating a thematic map after calculating the length of major
roads by Euphyeon-dong, Seoul.

5.2.4.6. Thiessen Polygon -> Point Statistics -> Polygon Symbolizer

It is a function to create Thiessen polygon by using reference point layer, calculate the

number of points included in each polygon, and create a motif.

The following is an example of creating a Thiessen polygon based on the school and then
calculating the number of apartments included in the polygon and then creating a thematic
map.

511
Spatial Extension for GeoServer WPS 1.0

5.2.4.7. Vector Overlay Analysis


Union, Intersect, Difference, Symmetrical Difference, Identity, Update.

5.2.4.8. K-Nearest Neighbor Map


The closest feature is connected to each feature of the point layer. The number of neighbors
can be expanded from 1 to n, and visibility of the cluster can be determined.

512
Spatial Extension for GeoServer WPS 1.0

5.2.4.9. Spatial Clump Map


It is a function to create a Spatial Clump Map based on the point layer and radius. You can
check whether or not the point layer is clustered.

5.2.4.10. Hub Lines by Nearest Distance

This function creates a Hub Line connecting each feature of the Hub layer and the Spoke layer
closest to the feature.
The following example shows Hub Line connecting the closest Ward office in an apartment in
Seoul.

513
Spatial Extension for GeoServer WPS 1.0

5.2.5. D4

5.2.5.1. Advanced Field Calculator


A function that computes new values for fields using various spatial (geometry transformation)
and attribute information (field operations).
The following example is an example of adding a circle around each feature in a polygon layer
as a polygon layer. In addition to this, you can perform point conversion, buffer execution,
property information of geometry and field operation.

5.2.5.2. Calculate XY Coordinates


This function converts the X and Y values of each feature center point of the selected layer to
the set coordinate system.

514
Spatial Extension for GeoServer WPS 1.0

5.2.5.3. Ring Maps - Choropleth Map


It is a function to create a ring map and then create a theme map using field values of time
series data.

The following is an example of the ring-map of 2000 to 2005 population growth rate of Seoul.

5.2.5.4. Wind Rose Maps - Choropleth Map


The function that creates the Wind Rose Map based on the center point (arbitrary designation
or the center point of the layer) of the point layer, calculates the number of features of the
point layer included in each cell, and creates the theme diagram.
The following is an example of the Wind Rose Map of the distribution of apartments in Seoul
based on Seoul City Hall.

515
Spatial Extension for GeoServer WPS 1.0

5.2.5.5. Point Cluster Map (WFS)


Creation of a Point Cluster layer for the point layer, and importing vector data to construct the
map directly on the client, so large amounts of data can not be processed.

5.2.5.6. Point Cluster Map (WMS-WPS-Rendering Transformation)


Create Point Cluster layers for point layers, and return images after Mapping Point Cluster on
the server, which enables large data processing.

516
Spatial Extension for GeoServer WPS 1.0

5.2.5.7. Heat Map (WMS-WPS-Rendering Transformation)

It is a function to generate heat map for point layer.

Generate heat map from server and generate and return image using standard WMS, so large
data processing is possible.

5.2.5.8. WMS-WPS-Rendering Transformation


Visualization through SLD using WMS Rendering Transformation.
◼ O-D Flow Map

517
Spatial Extension for GeoServer WPS 1.0

◼ Hexagonal Binning

◼ Dot Density Map


518
Spatial Extension for GeoServer WPS 1.0

5.2.5.9. Time Series Animated Map + Weight


Displays the point layer containing time properties, such as earthquakes and onset areas, as
dynamic animations, and displays the radius of the animation circle by setting property values,
such as earthquake size values, as weights.

5.2.5.10. Time Series Animated Map


This function allows you to check the point layer containing time properties such as
earthquakes and onset areas by dynamic animation.

519
Spatial Extension for GeoServer WPS 1.0

5.2.6. D5

5.2.6.1. Extract Raster Values to Points

Point This function calculates the cell value of the raster layer that overlaps with each feature
of the layer.
The following example shows the result of calculating the elevation value using DEM data for
each ward office in Seoul.

5.2.6.2. Raster Profile Graph

This function analyzes the profile using the line specified by the user.

This is the result of visualizing the profile (cross section) between two points using the DEM in
Seoul and then using points and graphs.

520
Spatial Extension for GeoServer WPS 1.0

5.2.6.3. Finds the highest points in this area


This function converts the raster cell's maximum and minimum values into points based on the
area set by the user. Here is the result of extracting the highest point based on the current
map area.

5.2.6.4. Raster Radial Line of Sight


This function analyzes the Radial Line of Sight for the point set by the user using DEM. In the
following example, green indicates the visible region and red indicates the invisible region.

521
Spatial Extension for GeoServer WPS 1.0

5.2.6.5. Raster Linear Line of Sight


It analyzes the line of sight between two points set by the user. In the following example,
green is visible and red is not visible.

5.2.6.6. Raster Conditional → Raster to Polygon


Filter Expression is used to extract the raster that meets the criteria and convert it to polygon.
The following example is the result of extracting an area over 250 meters in Seoul.

522
Spatial Extension for GeoServer WPS 1.0

6 References

6.1. How to Contribute

Spatial Extension for GeoServer WPS 개발에 참여하는 방법은

- Participate in direct development using GitHub


- There is a way to participate in localization (eg Korean) using Transifex.다음 URL 을
Please note.

◼ GitHub

- https://github.com/mapplus/spatial_statistics_for_geotools_udig

◼ Transifex

- https://www.transifex.com/mangosystem/ss-rd

6.2. Reference

◼ http://www.opengeospatial.org/standards/wps

◼ http://docs.geoserver.org/stable/en/user/extensions/wps/index.html

◼ https://github.com/mapplus/spatial_statistics_for_geotools_udig

[End of document]
523

S-ar putea să vă placă și