SlideShare une entreprise Scribd logo
1  sur  40
Development of an extension
of GeoServer for handling
3D spatial data
Hyung-Gyu Ryoo (hgryoo@pnu.edu)
Soojin Kim (soojin.kim@pnu.edu)
Joonseok Kim (joonseok@pnu.edu)
Ki-Joune Li (lik@pnu.edu)
Pusan National University, South Korea
FOSS4G 2017 Boston - August 18, 2017
1
FOSS4G 2017 Boston
August 18, 2017
About Us
2
Main Developers AdvisorInitial Design
Hyung-Gyu Ryoo
(hgryoo@pnu.edu)
Soojin Kim
(soojin.kim@pnu.edu)
Dr. Joonseok Kim
(joonseok@pnu.edu)
Prof. Ki-Joune Li
(lik@pnu.edu)
FOSS4G 2017 Boston
August 18, 2017
3
FOSS4G 2017 Boston
August 18, 2017
NOTICE
This project is not be perfect
This project is a new challenge
Your insights and feedback
4
FOSS4G 2017 Boston
August 18, 2017
Contents
● Why do we need GeoServer 3D?
● GeoServer/GeoTools 3D
● Demonstration
● Next Steps
● Summary
5
FOSS4G 2017 Boston
August 18, 2017
Common Open Source 2D GIS Architecture
6
Spatial
Databases
File
Sources
Geospatial
Server
Desktop
Client
Web
Client
PostGIS
OpenLayers
QGIS
GeoServer
ESRI Shapefile
FOSS4G 2017 Boston
August 18, 2017
Why we need Geospatial server?
7
Spatial
Databases
File
Sources
Desktop
Client
Web
Client
My Super
Server
My Super
Server2
My Super
Server3
My Super
Server4
FOSS4G 2017 Boston
August 18, 2017
Common Open Source 2D GIS Architecture
8
Spatial
Databases
File
Sources
Geospatial
Server
Desktop
Client
Web
Client
PostGIS
OpenLayers
QGIS
GeoServer
ESRI Shapefile
FOSS4G 2017 Boston
August 18, 2017
Open source 3D GIS data visualization tools
9
(cesiumjs.org) (itowns-project.org)
NASA World Wind
(worldwind.arc.nasa.gov)
FOSS4G 2017 Boston
August 18, 2017
SFCGAL
Data Stores Supporting 3D
10
(postgis.net)
(oracle.com/database/spatial/)
(sfcgal.org)
FOSS4G 2017 Boston
August 18, 2017
For Open Source 3D GIS Architecture?
11
Spatial
Databases
File
Sources
Geospatial
Server
Desktop
Client
Web
Client
FOSS4G 2017 Boston
August 18, 2017
Existing Open Source 3D GIS Stack
12
(3dcitydb.org)
?
FOSS4G 2017 Boston
August 18, 2017
Requirements of a general 3D spatial data server
13
1.Data structures to store features with 3D geometries
2.Functions to process queries on 3D objects
3.Connections to data stores able to store 3D spatial
information
4.Standard web services for sharing 3D spatial information
FOSS4G 2017 Boston
August 18, 2017
For Open Source 3D GIS Architecture?
Spatial
Databases
File
Sources
Desktop
Client
Web
Client
?
GeoServer 3D
14
FOSS4G 2017 Boston
August 18, 2017 15
● Representative open source spatial data servers
● Based on GeoTools
● Provide a variety of spatial data sources by excellent
abstraction
● Geospatial web services that provides functions to share
and query spatial data (OGC - WMS, WFS and WPS).
(geotools.org)(geoserver.org)About GeoServer
FOSS4G 2017 Boston
August 18, 2017
Excellent Abstraction
16
FeatureSource
DataStore
Data Type
Query
Feature Feature
Type
Filter
Function
Expression
WFS
FOSS4G 2017 Boston
August 18, 2017
GeoServer has limitations in handling 3D!
17
GeoServer can handle and store points, curves and surfaces
with z coordinates
But!
It is impossible to store spatial information with solids
Spatial query processing is performed without z coordinates
Why?
FOSS4G 2017 Boston
August 18, 2017
JTS - limitation for supporting 3D in GeoServer
● JTS geometries can carry a Z coordinate
● What about solid geometries?
● What about 3D spatial operations?
18
OGC::Simple Feature Access
based on
<Java Class>
JTS::Geometry
FOSS4G 2017 Boston
August 18, 2017
ISO 19107 spatial schema-based interface
19
<Java Interface>
ISO 19107 Spatial Schema
<Java Class>
ISO 19107 Geometries
Implementation
gt-geometry
● Implementations of ISO Geometry supported as an
unsupported module
● 3D spatial operations are not implemented
FOSS4G 2017 Boston
August 18, 2017
We had two options!
● Options
○ Develop or port every function from scratch
○ Reuse or utilize existing open source libraries
20
● Existing open source library for 3D spatial operations
○ CGAL (GNU LGPL 3+, GNU GPL 3+)
■ C++, A variety of robust computational geometry algorithms in 3D
spaces as well as 2D
■ Different from those in GIS domains
○ Simple Feature CGAL (GNU LGPL 2+) by Oslandia
■ C++, Based on CGAL and Boost
FOSS4G 2017 Boston
August 18, 2017
<Java>
GeoServer
ISO Geometry
Geometry
DirectPosition
Point
Curve
...
Connecting SFCGAL to ISO Geometry module
21
<C++>
SFCGAL
Geometry
Algorithm
CGAL
Boost
SFCGAL
Converter
JavaCPP
SFCGAL
Java Wrapper
Geometry
Algorithm
FOSS4G 2017 Boston
August 18, 2017
Example of performing 3D operations
using SFCGAL
22
Ex) Intersects between Curve and Solid
<ISO 19107>
Curve
<ISO 19107>
Solid
<SFCGAL>
SFLineString
<SFCGAL>
SFSolid
<SFCGAL>
IntersectsOperation
true/false
FOSS4G 2017 Boston
August 18, 2017
New ISO 19107 Geometry Module
● Easy installation for Ubuntu users
○ sudo ./cppbuild.sh //Boost, CGAL and SFCGAL are installed
○ mvn clean install
● Support 3D operations
○ distance, area, volume, convexHull...
○ intersects, contains, within...
○ intersection, difference, union...
23
FOSS4G 2017 Boston
August 18, 2017
Now, Done?
Absolutely
Not!
Long way to go...
24
FOSS4G 2017 Boston
August 18, 2017
Next?
25
Examine GeoTools/GeoServer from bottom to top
WFS
FOSS4G 2017 Boston
August 18, 2017
Codes are coupled with JTS!
26
FOSS4G 2017 Boston
August 18, 2017
Simple strategy
1.Use a well-defined interfaces in GeoServer/GeoTools
2.Copy and rewrite classes to support ISO 19107 geometries
if the class is connected to a JTS geometries
3.Leave codes that are not coupled with JTS as much as
possible
4.For copied codes, perform unit tests
27
FOSS4G 2017 Boston
August 18, 2017
A Data Store for 3D Spatial Information
28
● File data store
○ CSV
○ GeoJSON
○ GML
● Database data store
○ PostGIS
○ Oracle
FOSS4G 2017 Boston
August 18, 2017
A Data Store for 3D Spatial Information
29
Apply the 3D filter condition
using the SFCGAL operation
Candidate
features
Select features
without a 3D filter condition
Result
features
Select features
with a 3D filter condition
supported by data store
Y
N
Get Features
with a 3D spatial filter
Can the filter be supported in data store?
END
FOSS4G 2017 Boston
August 18, 2017
WFS Extension for 3D Queries
30
● Web Feature Service (WFS)
○ An interface for providing spatial data in vector format
○ WFS 1.1 supports GML 3.1.1 used in HTTP requests from and responses
to the client
○ the GML 3.1.1 contains solids element
● Encoding/Decoding of GML Elements contained in 3D filter
conditions.
FOSS4G 2017 Boston
August 18, 2017
WFS Extension for 3D Queries
31
Data Store
WFS Request/Response
Data
Feature
Collection
GML ⇔ Features with ISO Geometry
Filter
GeoServer
WFS Client
Data store
Query region
FOSS4G 2017 Boston
August 18, 2017
3D Open Source Software Stack GeoServer
32
DBMS/File
GeoTools
GeoServer
Services/Applications
OS
Cesium/NASA World Wind/QGIS
Ubuntu/CentOS
Oracle/PostGIS
FeatureStore
(Well defined)
GML/ShapeFile...
I/O Plugins
[GeoJSON, ShapeFIle…]
DataStores
[JDBCDataStore/FileDataStore]
Query/Filter
(JTS Only)
WPS Process
(JTS Only)
SQLDialect
Data Management
[Vector, DB]
Services
[WFS, WCS, WPS, WMS]
Web Administration
UI
Oracle
PostGIS
SFCGAL Extension
New DataStores
(uses ISO Geometry)
New SQLDialect, I/O Plugin
(type mapping to ISO Geometry)
New FilterFactory,
(uses SFCGAL query evaluation)
WPS Process
(new proc using ISO geometry)
GeoServer 3D Extension
XML Binidng
(JTS Only)
XML Binding
(uses ISO geometry)
WFS 1.1 Service
(uses ISO geometry)
Demonstration
33
FOSS4G 2017 Boston
August 18, 2017
Demonstration(1/3) - Overview
34
GeoServer 3D
Draw
WFS
Request
PostGIS 3D
WFS Client
Highlighting
WFS
Response
RegisterStore
FOSS4G 2017 Boston
August 18, 2017
Demonstration(2/3) - Test Data
35
● Test data 1 - Extruded Buildings from OSM data
○ Buildings with height over 3m in Boston
○ 39712 number of buildings
○ Each building is made of solid geometry.
FOSS4G 2017 Boston
August 18, 2017
Demonstration(3/3) - Test Data
36
● Test data 2 - Indoor data with 3D rooms from IndoorGML data
○ Rooms and corridors in a shopping mall in Seoul.
○ 3496 number of rooms
○ Each room is made of solid geometry.
FOSS4G 2017 Boston
August 18, 2017
Next Steps
● Documentation!
● Administration GUI for 3D
● Making a switch between JTS and ISO Geometry
● Supporting WFS 2.0 version to support rich set of
advanced functions
● Plain WFS => Tiling
● Test and improve again and again to be stable
37
FOSS4G 2017 Boston
August 18, 2017
OGC Visualization Model
38
Data
Repository
Select
Display
Element
Generator
Render
Display
Internet
Thin
Server
(WFS)
Thick
Client
Data
Repository
Select
Display
Element
Generator
Internet
Data
Repository
Select
Display
Element
Generator
InternetRender
Display
Render
Display
Medium
Client
Medium
Server
(W3DS)
Thick
Server
Thin
Client
FOSS4G 2017 Boston
August 18, 2017
Summary
● GeoServer does not support 3D spatial data handling
because it has been implemented based on Simple Feature
Access Specification
● We developed new implementation of ISO 19107 geometric
model, which can support 3D spatial geometry and
computation
● We extended lots of modules to support 3D functionalities
based on the geometric model
39
FOSS4G 2017 Boston
August 18, 2017
Thank you!
40
hgryoo@pnu.edu | @hgryoo
https://github.com/STEMLab/geotools-3d-extension
https://github.com/STEMLab/geoserver-3d-extension

Contenu connexe

Tendances

Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...GeoSolutions
 
GeoServer beginners gwf_2015
GeoServer beginners gwf_2015GeoServer beginners gwf_2015
GeoServer beginners gwf_2015GeoSolutions
 
GeoServer on Steroids
GeoServer on Steroids GeoServer on Steroids
GeoServer on Steroids GeoSolutions
 
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
Creating Stunning Maps in GeoServer: mastering SLD and CSS stylesCreating Stunning Maps in GeoServer: mastering SLD and CSS styles
Creating Stunning Maps in GeoServer: mastering SLD and CSS stylesGeoSolutions
 
Using GeoServer for spatio-temporal data management with examples for MetOc a...
Using GeoServer for spatio-temporal data management with examples for MetOc a...Using GeoServer for spatio-temporal data management with examples for MetOc a...
Using GeoServer for spatio-temporal data management with examples for MetOc a...GeoSolutions
 
Map box styles in GeoServer and OpenLayers
Map box styles in GeoServer and OpenLayersMap box styles in GeoServer and OpenLayers
Map box styles in GeoServer and OpenLayersJody Garnett
 
State of GeoServer
State of GeoServerState of GeoServer
State of GeoServerJody Garnett
 
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013GeoSolutions
 
Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
Raster data in GeoServer and GeoTools: Achievements, issues and future develo...Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
Raster data in GeoServer and GeoTools: Achievements, issues and future develo...GeoSolutions
 
GeoServer an introduction for beginners
GeoServer an introduction for beginnersGeoServer an introduction for beginners
GeoServer an introduction for beginnersGeoSolutions
 
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...GeoSolutions
 
GeoServer on steroids
GeoServer on steroidsGeoServer on steroids
GeoServer on steroidsGeoSolutions
 
Spatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
Spatio-temporal Data Handling With GeoServer for MetOc And Remote SensingSpatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
Spatio-temporal Data Handling With GeoServer for MetOc And Remote SensingGeoSolutions
 
State of GeoServer 2015
State of GeoServer 2015State of GeoServer 2015
State of GeoServer 2015Jody Garnett
 
Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015GeoSolutions
 
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...GeoSolutions
 
Java Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJava Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJody Garnett
 
State of GeoServer 2.10
State of GeoServer 2.10State of GeoServer 2.10
State of GeoServer 2.10Jody Garnett
 
Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015GeoSolutions
 
GeoServer Orientation
GeoServer OrientationGeoServer Orientation
GeoServer OrientationJody Garnett
 

Tendances (20)

Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...Serving earth observation data with GeoServer: addressing real world requirem...
Serving earth observation data with GeoServer: addressing real world requirem...
 
GeoServer beginners gwf_2015
GeoServer beginners gwf_2015GeoServer beginners gwf_2015
GeoServer beginners gwf_2015
 
GeoServer on Steroids
GeoServer on Steroids GeoServer on Steroids
GeoServer on Steroids
 
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
Creating Stunning Maps in GeoServer: mastering SLD and CSS stylesCreating Stunning Maps in GeoServer: mastering SLD and CSS styles
Creating Stunning Maps in GeoServer: mastering SLD and CSS styles
 
Using GeoServer for spatio-temporal data management with examples for MetOc a...
Using GeoServer for spatio-temporal data management with examples for MetOc a...Using GeoServer for spatio-temporal data management with examples for MetOc a...
Using GeoServer for spatio-temporal data management with examples for MetOc a...
 
Map box styles in GeoServer and OpenLayers
Map box styles in GeoServer and OpenLayersMap box styles in GeoServer and OpenLayers
Map box styles in GeoServer and OpenLayers
 
State of GeoServer
State of GeoServerState of GeoServer
State of GeoServer
 
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
MapStore Create, save and share maps and mashups @ GRASS-GFOSS 2013
 
Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
Raster data in GeoServer and GeoTools: Achievements, issues and future develo...Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
Raster data in GeoServer and GeoTools: Achievements, issues and future develo...
 
GeoServer an introduction for beginners
GeoServer an introduction for beginnersGeoServer an introduction for beginners
GeoServer an introduction for beginners
 
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
Raster Data In GeoServer and GeoTools: Achievements, Issues And Future Develo...
 
GeoServer on steroids
GeoServer on steroidsGeoServer on steroids
GeoServer on steroids
 
Spatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
Spatio-temporal Data Handling With GeoServer for MetOc And Remote SensingSpatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
Spatio-temporal Data Handling With GeoServer for MetOc And Remote Sensing
 
State of GeoServer 2015
State of GeoServer 2015State of GeoServer 2015
State of GeoServer 2015
 
Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015Advanced Security with GeoServer - FOSS4G 2015
Advanced Security with GeoServer - FOSS4G 2015
 
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
GeoServer for Spatio-temporal Data Handling With Examples For MetOc And Remot...
 
Java Image Processing for Geospatial Community
Java Image Processing for Geospatial CommunityJava Image Processing for Geospatial Community
Java Image Processing for Geospatial Community
 
State of GeoServer 2.10
State of GeoServer 2.10State of GeoServer 2.10
State of GeoServer 2.10
 
Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015Geoserver introduction, GeoBusiness 2015
Geoserver introduction, GeoBusiness 2015
 
GeoServer Orientation
GeoServer OrientationGeoServer Orientation
GeoServer Orientation
 

Similaire à [FOSS4G 2017 Boston]Development of an extension of Geoserver for handling 3D spatial data

Foss4 g 2017-kansai-ryoo-kim
Foss4 g 2017-kansai-ryoo-kimFoss4 g 2017-kansai-ryoo-kim
Foss4 g 2017-kansai-ryoo-kimOSgeo Japan
 
uStorage - A storage architecture to provide Block-level Storage through Obje...
uStorage - A storage architecture to provide Block-level Storage through Obje...uStorage - A storage architecture to provide Block-level Storage through Obje...
uStorage - A storage architecture to provide Block-level Storage through Obje...Felipe Gutierrez
 
Powerful geographic web framework GeoDjango
Powerful geographic web framework GeoDjangoPowerful geographic web framework GeoDjango
Powerful geographic web framework GeoDjangoOMEGA (@equal_001)
 
Readinggroup xiang 24112016
Readinggroup xiang 24112016Readinggroup xiang 24112016
Readinggroup xiang 24112016Xiang Zhang
 
Александр Трищенко "How to improve Angular 2 performance?"
Александр Трищенко "How to improve Angular 2 performance?"Александр Трищенко "How to improve Angular 2 performance?"
Александр Трищенко "How to improve Angular 2 performance?"Fwdays
 
How To Tweak Angular 2 Performance (JavaScript Frameworks Day 2017 Kiev)
How To Tweak Angular 2 Performance (JavaScript Frameworks Day 2017 Kiev)How To Tweak Angular 2 Performance (JavaScript Frameworks Day 2017 Kiev)
How To Tweak Angular 2 Performance (JavaScript Frameworks Day 2017 Kiev)Oleksandr Tryshchenko
 
Identity & Access Management Briefing
Identity & Access Management BriefingIdentity & Access Management Briefing
Identity & Access Management BriefingCharise Arrowood
 
State of GeoServer 2.13
State of GeoServer 2.13State of GeoServer 2.13
State of GeoServer 2.13Jody Garnett
 
Introduction to Open Source GIS
Introduction to Open Source GISIntroduction to Open Source GIS
Introduction to Open Source GISSANGHEE SHIN
 
gbroccolo - Use of Indexes on geospatial databases with PostgreSQL - FOSS4G.E...
gbroccolo - Use of Indexes on geospatial databases with PostgreSQL - FOSS4G.E...gbroccolo - Use of Indexes on geospatial databases with PostgreSQL - FOSS4G.E...
gbroccolo - Use of Indexes on geospatial databases with PostgreSQL - FOSS4G.E...Giuseppe Broccolo
 
Introduction of MAGO3D
Introduction of MAGO3DIntroduction of MAGO3D
Introduction of MAGO3DSANGHEE SHIN
 
LOA seminar 2017 - Product and 3D geometry ontologies at action in constructi...
LOA seminar 2017 - Product and 3D geometry ontologies at action in constructi...LOA seminar 2017 - Product and 3D geometry ontologies at action in constructi...
LOA seminar 2017 - Product and 3D geometry ontologies at action in constructi...Pieter Pauwels
 
State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014Jody Garnett
 
Giving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS CommunityGiving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS CommunityMongoDB
 
What we've done so far with mago3D, an open source based 'Digital Twin' platf...
What we've done so far with mago3D, an open source based 'Digital Twin' platf...What we've done so far with mago3D, an open source based 'Digital Twin' platf...
What we've done so far with mago3D, an open source based 'Digital Twin' platf...SANGHEE SHIN
 
Moving to Web GIS: Transforming an Organization
Moving to Web GIS: Transforming an OrganizationMoving to Web GIS: Transforming an Organization
Moving to Web GIS: Transforming an OrganizationAndrew Valenski
 
Look, Listen and Act [Navigation via Reinforcement Learning]
Look, Listen and Act [Navigation via Reinforcement Learning]Look, Listen and Act [Navigation via Reinforcement Learning]
Look, Listen and Act [Navigation via Reinforcement Learning]이 의령
 
3D Environment : HomeNavigation
3D Environment : HomeNavigation3D Environment : HomeNavigation
3D Environment : HomeNavigationYeChan(Paul) Kim
 
ShareGeo: Discovering and Sharing Geospatial Data - 12 months on and going open!
ShareGeo: Discovering and Sharing Geospatial Data - 12 months on and going open!ShareGeo: Discovering and Sharing Geospatial Data - 12 months on and going open!
ShareGeo: Discovering and Sharing Geospatial Data - 12 months on and going open!EDINA, University of Edinburgh
 

Similaire à [FOSS4G 2017 Boston]Development of an extension of Geoserver for handling 3D spatial data (20)

Foss4 g 2017-kansai-ryoo-kim
Foss4 g 2017-kansai-ryoo-kimFoss4 g 2017-kansai-ryoo-kim
Foss4 g 2017-kansai-ryoo-kim
 
uStorage - A storage architecture to provide Block-level Storage through Obje...
uStorage - A storage architecture to provide Block-level Storage through Obje...uStorage - A storage architecture to provide Block-level Storage through Obje...
uStorage - A storage architecture to provide Block-level Storage through Obje...
 
Powerful geographic web framework GeoDjango
Powerful geographic web framework GeoDjangoPowerful geographic web framework GeoDjango
Powerful geographic web framework GeoDjango
 
Readinggroup xiang 24112016
Readinggroup xiang 24112016Readinggroup xiang 24112016
Readinggroup xiang 24112016
 
Александр Трищенко "How to improve Angular 2 performance?"
Александр Трищенко "How to improve Angular 2 performance?"Александр Трищенко "How to improve Angular 2 performance?"
Александр Трищенко "How to improve Angular 2 performance?"
 
GIS PPT
GIS PPTGIS PPT
GIS PPT
 
How To Tweak Angular 2 Performance (JavaScript Frameworks Day 2017 Kiev)
How To Tweak Angular 2 Performance (JavaScript Frameworks Day 2017 Kiev)How To Tweak Angular 2 Performance (JavaScript Frameworks Day 2017 Kiev)
How To Tweak Angular 2 Performance (JavaScript Frameworks Day 2017 Kiev)
 
Identity & Access Management Briefing
Identity & Access Management BriefingIdentity & Access Management Briefing
Identity & Access Management Briefing
 
State of GeoServer 2.13
State of GeoServer 2.13State of GeoServer 2.13
State of GeoServer 2.13
 
Introduction to Open Source GIS
Introduction to Open Source GISIntroduction to Open Source GIS
Introduction to Open Source GIS
 
gbroccolo - Use of Indexes on geospatial databases with PostgreSQL - FOSS4G.E...
gbroccolo - Use of Indexes on geospatial databases with PostgreSQL - FOSS4G.E...gbroccolo - Use of Indexes on geospatial databases with PostgreSQL - FOSS4G.E...
gbroccolo - Use of Indexes on geospatial databases with PostgreSQL - FOSS4G.E...
 
Introduction of MAGO3D
Introduction of MAGO3DIntroduction of MAGO3D
Introduction of MAGO3D
 
LOA seminar 2017 - Product and 3D geometry ontologies at action in constructi...
LOA seminar 2017 - Product and 3D geometry ontologies at action in constructi...LOA seminar 2017 - Product and 3D geometry ontologies at action in constructi...
LOA seminar 2017 - Product and 3D geometry ontologies at action in constructi...
 
State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014State of GeoServer, GeoTools and Friends 2014
State of GeoServer, GeoTools and Friends 2014
 
Giving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS CommunityGiving MongoDB a Way to Play with the GIS Community
Giving MongoDB a Way to Play with the GIS Community
 
What we've done so far with mago3D, an open source based 'Digital Twin' platf...
What we've done so far with mago3D, an open source based 'Digital Twin' platf...What we've done so far with mago3D, an open source based 'Digital Twin' platf...
What we've done so far with mago3D, an open source based 'Digital Twin' platf...
 
Moving to Web GIS: Transforming an Organization
Moving to Web GIS: Transforming an OrganizationMoving to Web GIS: Transforming an Organization
Moving to Web GIS: Transforming an Organization
 
Look, Listen and Act [Navigation via Reinforcement Learning]
Look, Listen and Act [Navigation via Reinforcement Learning]Look, Listen and Act [Navigation via Reinforcement Learning]
Look, Listen and Act [Navigation via Reinforcement Learning]
 
3D Environment : HomeNavigation
3D Environment : HomeNavigation3D Environment : HomeNavigation
3D Environment : HomeNavigation
 
ShareGeo: Discovering and Sharing Geospatial Data - 12 months on and going open!
ShareGeo: Discovering and Sharing Geospatial Data - 12 months on and going open!ShareGeo: Discovering and Sharing Geospatial Data - 12 months on and going open!
ShareGeo: Discovering and Sharing Geospatial Data - 12 months on and going open!
 

Dernier

%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 

Dernier (20)

%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 

[FOSS4G 2017 Boston]Development of an extension of Geoserver for handling 3D spatial data

  • 1. Development of an extension of GeoServer for handling 3D spatial data Hyung-Gyu Ryoo (hgryoo@pnu.edu) Soojin Kim (soojin.kim@pnu.edu) Joonseok Kim (joonseok@pnu.edu) Ki-Joune Li (lik@pnu.edu) Pusan National University, South Korea FOSS4G 2017 Boston - August 18, 2017 1
  • 2. FOSS4G 2017 Boston August 18, 2017 About Us 2 Main Developers AdvisorInitial Design Hyung-Gyu Ryoo (hgryoo@pnu.edu) Soojin Kim (soojin.kim@pnu.edu) Dr. Joonseok Kim (joonseok@pnu.edu) Prof. Ki-Joune Li (lik@pnu.edu)
  • 4. FOSS4G 2017 Boston August 18, 2017 NOTICE This project is not be perfect This project is a new challenge Your insights and feedback 4
  • 5. FOSS4G 2017 Boston August 18, 2017 Contents ● Why do we need GeoServer 3D? ● GeoServer/GeoTools 3D ● Demonstration ● Next Steps ● Summary 5
  • 6. FOSS4G 2017 Boston August 18, 2017 Common Open Source 2D GIS Architecture 6 Spatial Databases File Sources Geospatial Server Desktop Client Web Client PostGIS OpenLayers QGIS GeoServer ESRI Shapefile
  • 7. FOSS4G 2017 Boston August 18, 2017 Why we need Geospatial server? 7 Spatial Databases File Sources Desktop Client Web Client My Super Server My Super Server2 My Super Server3 My Super Server4
  • 8. FOSS4G 2017 Boston August 18, 2017 Common Open Source 2D GIS Architecture 8 Spatial Databases File Sources Geospatial Server Desktop Client Web Client PostGIS OpenLayers QGIS GeoServer ESRI Shapefile
  • 9. FOSS4G 2017 Boston August 18, 2017 Open source 3D GIS data visualization tools 9 (cesiumjs.org) (itowns-project.org) NASA World Wind (worldwind.arc.nasa.gov)
  • 10. FOSS4G 2017 Boston August 18, 2017 SFCGAL Data Stores Supporting 3D 10 (postgis.net) (oracle.com/database/spatial/) (sfcgal.org)
  • 11. FOSS4G 2017 Boston August 18, 2017 For Open Source 3D GIS Architecture? 11 Spatial Databases File Sources Geospatial Server Desktop Client Web Client
  • 12. FOSS4G 2017 Boston August 18, 2017 Existing Open Source 3D GIS Stack 12 (3dcitydb.org) ?
  • 13. FOSS4G 2017 Boston August 18, 2017 Requirements of a general 3D spatial data server 13 1.Data structures to store features with 3D geometries 2.Functions to process queries on 3D objects 3.Connections to data stores able to store 3D spatial information 4.Standard web services for sharing 3D spatial information
  • 14. FOSS4G 2017 Boston August 18, 2017 For Open Source 3D GIS Architecture? Spatial Databases File Sources Desktop Client Web Client ? GeoServer 3D 14
  • 15. FOSS4G 2017 Boston August 18, 2017 15 ● Representative open source spatial data servers ● Based on GeoTools ● Provide a variety of spatial data sources by excellent abstraction ● Geospatial web services that provides functions to share and query spatial data (OGC - WMS, WFS and WPS). (geotools.org)(geoserver.org)About GeoServer
  • 16. FOSS4G 2017 Boston August 18, 2017 Excellent Abstraction 16 FeatureSource DataStore Data Type Query Feature Feature Type Filter Function Expression WFS
  • 17. FOSS4G 2017 Boston August 18, 2017 GeoServer has limitations in handling 3D! 17 GeoServer can handle and store points, curves and surfaces with z coordinates But! It is impossible to store spatial information with solids Spatial query processing is performed without z coordinates Why?
  • 18. FOSS4G 2017 Boston August 18, 2017 JTS - limitation for supporting 3D in GeoServer ● JTS geometries can carry a Z coordinate ● What about solid geometries? ● What about 3D spatial operations? 18 OGC::Simple Feature Access based on <Java Class> JTS::Geometry
  • 19. FOSS4G 2017 Boston August 18, 2017 ISO 19107 spatial schema-based interface 19 <Java Interface> ISO 19107 Spatial Schema <Java Class> ISO 19107 Geometries Implementation gt-geometry ● Implementations of ISO Geometry supported as an unsupported module ● 3D spatial operations are not implemented
  • 20. FOSS4G 2017 Boston August 18, 2017 We had two options! ● Options ○ Develop or port every function from scratch ○ Reuse or utilize existing open source libraries 20 ● Existing open source library for 3D spatial operations ○ CGAL (GNU LGPL 3+, GNU GPL 3+) ■ C++, A variety of robust computational geometry algorithms in 3D spaces as well as 2D ■ Different from those in GIS domains ○ Simple Feature CGAL (GNU LGPL 2+) by Oslandia ■ C++, Based on CGAL and Boost
  • 21. FOSS4G 2017 Boston August 18, 2017 <Java> GeoServer ISO Geometry Geometry DirectPosition Point Curve ... Connecting SFCGAL to ISO Geometry module 21 <C++> SFCGAL Geometry Algorithm CGAL Boost SFCGAL Converter JavaCPP SFCGAL Java Wrapper Geometry Algorithm
  • 22. FOSS4G 2017 Boston August 18, 2017 Example of performing 3D operations using SFCGAL 22 Ex) Intersects between Curve and Solid <ISO 19107> Curve <ISO 19107> Solid <SFCGAL> SFLineString <SFCGAL> SFSolid <SFCGAL> IntersectsOperation true/false
  • 23. FOSS4G 2017 Boston August 18, 2017 New ISO 19107 Geometry Module ● Easy installation for Ubuntu users ○ sudo ./cppbuild.sh //Boost, CGAL and SFCGAL are installed ○ mvn clean install ● Support 3D operations ○ distance, area, volume, convexHull... ○ intersects, contains, within... ○ intersection, difference, union... 23
  • 24. FOSS4G 2017 Boston August 18, 2017 Now, Done? Absolutely Not! Long way to go... 24
  • 25. FOSS4G 2017 Boston August 18, 2017 Next? 25 Examine GeoTools/GeoServer from bottom to top WFS
  • 26. FOSS4G 2017 Boston August 18, 2017 Codes are coupled with JTS! 26
  • 27. FOSS4G 2017 Boston August 18, 2017 Simple strategy 1.Use a well-defined interfaces in GeoServer/GeoTools 2.Copy and rewrite classes to support ISO 19107 geometries if the class is connected to a JTS geometries 3.Leave codes that are not coupled with JTS as much as possible 4.For copied codes, perform unit tests 27
  • 28. FOSS4G 2017 Boston August 18, 2017 A Data Store for 3D Spatial Information 28 ● File data store ○ CSV ○ GeoJSON ○ GML ● Database data store ○ PostGIS ○ Oracle
  • 29. FOSS4G 2017 Boston August 18, 2017 A Data Store for 3D Spatial Information 29 Apply the 3D filter condition using the SFCGAL operation Candidate features Select features without a 3D filter condition Result features Select features with a 3D filter condition supported by data store Y N Get Features with a 3D spatial filter Can the filter be supported in data store? END
  • 30. FOSS4G 2017 Boston August 18, 2017 WFS Extension for 3D Queries 30 ● Web Feature Service (WFS) ○ An interface for providing spatial data in vector format ○ WFS 1.1 supports GML 3.1.1 used in HTTP requests from and responses to the client ○ the GML 3.1.1 contains solids element ● Encoding/Decoding of GML Elements contained in 3D filter conditions.
  • 31. FOSS4G 2017 Boston August 18, 2017 WFS Extension for 3D Queries 31 Data Store WFS Request/Response Data Feature Collection GML ⇔ Features with ISO Geometry Filter GeoServer WFS Client Data store Query region
  • 32. FOSS4G 2017 Boston August 18, 2017 3D Open Source Software Stack GeoServer 32 DBMS/File GeoTools GeoServer Services/Applications OS Cesium/NASA World Wind/QGIS Ubuntu/CentOS Oracle/PostGIS FeatureStore (Well defined) GML/ShapeFile... I/O Plugins [GeoJSON, ShapeFIle…] DataStores [JDBCDataStore/FileDataStore] Query/Filter (JTS Only) WPS Process (JTS Only) SQLDialect Data Management [Vector, DB] Services [WFS, WCS, WPS, WMS] Web Administration UI Oracle PostGIS SFCGAL Extension New DataStores (uses ISO Geometry) New SQLDialect, I/O Plugin (type mapping to ISO Geometry) New FilterFactory, (uses SFCGAL query evaluation) WPS Process (new proc using ISO geometry) GeoServer 3D Extension XML Binidng (JTS Only) XML Binding (uses ISO geometry) WFS 1.1 Service (uses ISO geometry)
  • 34. FOSS4G 2017 Boston August 18, 2017 Demonstration(1/3) - Overview 34 GeoServer 3D Draw WFS Request PostGIS 3D WFS Client Highlighting WFS Response RegisterStore
  • 35. FOSS4G 2017 Boston August 18, 2017 Demonstration(2/3) - Test Data 35 ● Test data 1 - Extruded Buildings from OSM data ○ Buildings with height over 3m in Boston ○ 39712 number of buildings ○ Each building is made of solid geometry.
  • 36. FOSS4G 2017 Boston August 18, 2017 Demonstration(3/3) - Test Data 36 ● Test data 2 - Indoor data with 3D rooms from IndoorGML data ○ Rooms and corridors in a shopping mall in Seoul. ○ 3496 number of rooms ○ Each room is made of solid geometry.
  • 37. FOSS4G 2017 Boston August 18, 2017 Next Steps ● Documentation! ● Administration GUI for 3D ● Making a switch between JTS and ISO Geometry ● Supporting WFS 2.0 version to support rich set of advanced functions ● Plain WFS => Tiling ● Test and improve again and again to be stable 37
  • 38. FOSS4G 2017 Boston August 18, 2017 OGC Visualization Model 38 Data Repository Select Display Element Generator Render Display Internet Thin Server (WFS) Thick Client Data Repository Select Display Element Generator Internet Data Repository Select Display Element Generator InternetRender Display Render Display Medium Client Medium Server (W3DS) Thick Server Thin Client
  • 39. FOSS4G 2017 Boston August 18, 2017 Summary ● GeoServer does not support 3D spatial data handling because it has been implemented based on Simple Feature Access Specification ● We developed new implementation of ISO 19107 geometric model, which can support 3D spatial geometry and computation ● We extended lots of modules to support 3D functionalities based on the geometric model 39
  • 40. FOSS4G 2017 Boston August 18, 2017 Thank you! 40 hgryoo@pnu.edu | @hgryoo https://github.com/STEMLab/geotools-3d-extension https://github.com/STEMLab/geoserver-3d-extension