-
Public
Frank Albrecht SAP SE (ASCOT)
Kai-Christoph Mueller SAP Labs (ASCOT)
DEV103 Mapping the world with SAP HANA Geospatial Engine
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 2 Public
Disclaimer
This presentation outlines our general product direction and should not be relied on in making a
purchase decision. This presentation is not subject to your license agreement or any other agreement
with SAP. SAP has no obligation to pursue any course of business outlined in this presentation or to
develop or release any functionality mentioned in this presentation. This presentation and SAP's
strategy and possible future developments are subject to change and may be changed by SAP at any
time for any reason without notice. This document is provided without a warranty of any kind, either
express or implied, including but not limited to, the implied warranties of merchantability, fitness for a
particular purpose, or non-infringement. SAP assumes no responsibility for errors or omissions in this
document, except if such damages were caused by SAP intentionally or grossly negligent.
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 3 Public
Agenda
The Project
SAP HANA Cloud and Spatial engine
Implementation
From Real World to SAP HANA model
Architecture
Digitizing the real world
Analyzing the real world
Results
Learnings
-
The Project
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 5 Public
The Project
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 6 Public
The Project
Goal
Help a golf player to improve his
performance
Motivation
use SAP standard software
provide running code showcase
be able to become producible
show patterns, which can be used in business related scenarios
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 7 Public
capture store, analyze & visualize create value
Real World meets Technology
Sensors Cloud KPIs
Trackman
Stroke tracking
Wind sensor
SAP HANA cloud
SAP HANA spatial engine
Real time insights
Predictions
Intuitive visualization
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 8 Public
Agenda
The Project
SAP HANA Cloud and Spatial engine
Implementation
From Real World to SAP HANA model
Architecture
Digitizing the real world
Analyzing the real world
Results
Learnings
-
SAP HANA
(Cloud && Spatial Engine)
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 10 Public
Landscape: SAP HANA Cloud accessible via the Internet
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 11 Public
SAP HANA Cloud Platform High level overview
SAP HANA Cloud Platform
SAP HANA AppServices
Integration Analytics Mobile Collaboration Portal
www
Security
Application
Services
Enablement
Services Application Management Systems Management Administration & Monitoring
Transactions Streaming Predictive Text Mining Analytics Spatial &
Graphs
SAP HANA DBServices
Developer
Experience HANA XS && OData Open (JAVA)
Integrated
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 12 Public
SAP HANA spatial engine
SAP HANA Spatial Processing
Business Data + Spatial Data + Real-time Data
Geo Services
{ Geocoding ||
Base maps }}
Geo Content
{ Political
Boundaries || POIs
|| Roads || }
Columnar Spatial
Processing
Calc Model /
Views
{ Joins || Views }
Spatial Functions
{ Area || Distance
|| Within || }
Spatial Data
Types
{ Points || Lines ||
Polygons }
- SQL - JDBC - ODBC - XS -- xsjs -- OData -- geoJSON
Interfaces
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 13 Public
Development Tools: HANA Studio or Web Development Workbench
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 14 Public
Agenda
The Project
SAP HANA Cloud and Spatial engine
Implementation
From Real World to SAP HANA model
Architecture
Digitizing the real world
Analyzing the real world
Results
Learnings
-
Implementation
From the real world to the SAP HANA model
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 16 Public
Capabilities: Allows for visualization, interaction, and
exploration of spatial data in SAP HANA via maps
Supports HTML5 deployments for browser or iPad Consumes SAP HANA models
Benefits: Quick development and deployment time Low TCO & TCD and fast response times with 2-
tier architecture
Interoperates with third-party mapping services
SAP HANA Spatial Application Development
Quickly develop and deploy SAP HANA based spatial applications
via the native XS engine
SAP HANA XS
iPad/
Browser
SAP
HANA
HTML5
Application
Location
Services Maps
Geo-
coding Services
Spatial
Engine
Geo-
content
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 17 Public
The Process From the real world to the SAP HANA model
createGolfCourseModelInHANA
1) Acquire real world representation
2) Create and export geoJSON / KML / ShapeFile /
{ Google Earth || OpenStreetMap || geojson.io || }
3) Create SQL inserts using WKT format
4) Import model to SAP HANA
5) Check the model of golf course in SAP HANA
// code..code..code
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 18 Public
(1) Acquire real world representation Golf Course and Club St.Leon-Rot, Germany
Images of Golf Club St.Leon-Rot from https://www.gc-slr.de/
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 19 Public
GeoJSON (small excurse) or how to model real world objects
GeoJSON is an open standard format for encoding collections of simple geographical features along with their non-spatial attributes using JavaScript Object Notation.
~ Wikipedia
Point { "type": "Point", "coordinates": [30, 10] } LineString { "type": "LineString", "coordinates": [ [30, 10], [10, 30], [40, 40] ] } Polygon { "type": "Polygon", "coordinates": [ [[30, 10], [40, 40], [20, 40], [10, 20], [30, 10]]] } MultiPoint { "type": "MultiPoint", "coordinates": [ [10, 40], [40, 30], [20, 20], [30, 10] ] }
\\ += { MultiLineString{}, MultiPolygon{} }
geoJSON
geometries
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 20 Public
GeoJSON (still a small excurse) feature collections
GeoJSON is an open standard format for encoding collections of simple geographical features along with their non-spatial attributes using JavaScript Object Notation.
~ Wikipedia
{ "type": "FeatureCollection", "features": [ { "type": "Feature", "geometry": { "type": "LineString", "coordinates": [ [102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0] ] }, "properties": { "prop0": 0.0, "prop1": "value0" } }, { "type": "Feature", "geometry": { "type": "Polygon", "coordinates": [[[100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0]]]}, "properties": { "prop1": { "this": "that" }, "prop0": "value0" } } ] }
geoJSON
features
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 21 Public
(2) Create and export geoJSON Tool interface and demo
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 22 Public
(2) geoJSON for a golf course some examples
Pin: Bunker:
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 23 Public
(3) Create SQL inserts in WKT format
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 24 Public
(2) Database Table with geo data
Use ST.as_Text() to show geo information in human readable format
LINESTRING (8.628876180747724 49.245461274649351,8.628857007750653
POINT (8.624864494948630 49.247562010296519)
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 25 Public
insert into "PAE"."gsm::holegeo"( "ID", "HOLEID", "NAME", "TYPE", "PROPERTIES", "GEO") values( "PAE".SEQ_HOLEGEO.NEXTVAL, 'd-code_hole17', 'd-code_Green', 'green', '{"golf":"green","natural":"grass","name":"Green","parent":"hole01"}', NEW ST_POLYGON ('POLYGON((8.62538605928421 49.247343895147054, 8.625455796718596 49.24721782786144, 8.625624775886536 49.24727735967533, // first and last entry are the same 8.625514805316925 49.247349147943645, // in order to close the polygon 8.62538605928421 49.247343895147054 ))') ) ;
(4) Import model to SAP HANA
Inserting a modeled
green
Create a table including ST_Geometry data type
super type of all spatial geometry types
{ ST_LineString && ST_MultiLineString && ST_MultiPoint && ST_MultiPolygon && ST_Point && ST_Polygon }
Expecting WKT(Well-Known-Text) format in each constructor
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 26 Public
(5) Check the model of golf course in SAP HANA Hole 1 In real life and based on SAP HANA data
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 27 Public
(5) Check the model of golf course in SAP HANA The complete course of St.Leon in real life and modeled in SAP HANA
-
Implementation
Architecture
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 29 Public
Architecture Information
SAP HANA Cloud platform as the core
Data capturing via sensors
Geo information, analysis and prediction from platform
services
-
Implementation
Digitizing the real world
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 31 Public
Digitizing the real world Provide Information during game
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 32 Public
Digitizing the real world Recording Strokes
NFC Tags for each club
Phone with NFC support
Records Club information
and Geo Location
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 33 Public
Storing the recorded strokes
Phone reads NFC tag and creates OData Entity with Latitude,Longitude and ClubId
-
Implementation
Analyzing the real world
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 35 Public
Analysis - Questions
The golf player wants to get answers for the following questions:
Did the ball hit the green ?
How long was the longest drive ?
Did the ball hit the Fairway ? { hit || missed left || missed right }
Green in regulation ? { hit || missed short || missed long || missed left || missed right }
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 36 Public
KPI
Fairway { hit || missed left || missed right }
Angle as reference required
Line between tee-off and centroid of freeway
Depending on angle between
reference line && tee-off to ball land line
missed right || missed left
"PAE"."gsm::Bearing"( SD."StartLat", SD."StartLng", SD."EndLat", SD."EndLng )
> "PAE"."gsm::Bearing"( SD."StartLat", SD."StartLng", HG_FAIRWAY.GEO.ST_CENTROID().ST_Y(), HG_FAIRWAY.GEO.ST_CENTROID().ST_X() )
\\ "PAE"."gsm::Bearing is a helper function
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 37 Public
Fairway Special Case
Unsymmetrically shaped freeways require helper lines
Ball would falsely be labeled missed right here
New line between tee-off && helper point (green)
Depending on angle between
helper line && tee-off to ball land line
missed right || missed left
"PAE"."gsm::Bearing"( FW_HLINE."Lat1", FW_HLINE."Lng1", SD."EndLat", SD."EndLng )
> "PAE"."gsm::Bearing"( FW_HLINE."Lat1", FW_HLINE."Lng1", FW_HLINE."Lat2", FW_HLINE."Lng2 )
\\ "PAE"."gsm::Bearing is a helper function
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 38 Public
KPI Green in regulation (GIR)
Green in regulation (GIR) := stroke ( PAR 2 ) on the green
Possible values { Hit || Missed short || Missed long || Missed right || Missed left }
Measured in stroke direction
Unsymmetrical shape again
Missed short || Missed right?
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 39 Public
Agenda
The Project
SAP HANA Cloud and Spatial engine
Implementation
From Real World to SAP HANA model
Architecture
Digitizing the real world
Analyzing the real world
Results
Learnings
-
Results
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 41 Public
The Results
Fan experience Leader board
Player dashboard
Analytics
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 42 Public
Fan experience Leader board
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 43 Public
The Player Dashboard
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 44 Public
Analytics
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 45 Public
Agenda
The Project
SAP HANA Cloud and Spatial engine
Implementation
From Real World to SAP HANA model
Architecture
Digitizing the real world
Analyzing the real world
Results
Learnings
-
Learnings
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 47 Public
Learnings
You need to understand
Longitude & Latitude versus Cartesian coordinates
Radian versus Degrees
Visualization needed for all Geospatial data during development and testing very helpful
Clock-wise/Counter Clock-wise orientation
for distances/areas on the earth
influencing distance calculations as there are two distances on a closed surface
Access via SAP HANA Cloud on every Golf Course in the world possible
Current Limitations
Geospatial cannot be used in SQL script, Analytical- and Calculation-views
-
2014 SAP SE or an SAP affiliate company. All rights reserved.
Thank you
Contact information:
Frank Albrecht SAP SE (ASCOT)
Kai-Christoph Mueller SAP Labs (ASCOT)
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 49 Public
SAP d-code Virtual Hands-on Workshops and SAP d-code Online Continue your SAP d-code education after the event!
SAP d-code Online
Access replays of keynotes, Demo Jam, SAP d-code live interviews, select lecture sessions, and more!
Hands-on replays
http://sapdcode.com/online
SAP d-code Virtual Hands-on Workshops
Access hands-on workshops post-event
Starting January 2015
Complementary with your SAP d-code registration
http://sapdcodehandson.sap.com
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 50 Public
Further Information
SAP Education and Certification Opportunities
www.sap.com/education
Watch SAP d-code Online
www.sapcode.com/online
SAP Public Web
scn.sap.com
www.sap.com
-
51 2014 SAP SE or an SAP affiliate company. All rights reserved.
Feedback Please complete your session evaluation for
DEV103
Thanks for attending this d-code session.
2014 SAP SE or an SAP affiliate company. All rights reserved. 51 Public
-
2014 SAP SE or an SAP affiliate company. All rights reserved. 52 Public
2014 SAP SE or an SAP affiliate company. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an
SAP affiliate company.
SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE
(or an SAP affiliate company) in Germany and other countries. Please see http://global12.sap.com/corporate-en/legal/copyright/index.epx for additional trademark
information and notices.
Some software products marketed by SAP SE and its distributors contain proprietary software components of other software vendors.
National product specifications may vary.
These materials are provided by SAP SE or an SAP affiliate company for informational purposes only, without representation or warranty of any kind, and SAP SE or its
affiliated companies shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP SE or
SAP affiliate company products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing
herein should be construed as constituting an additional warranty.
In particular, SAP SE or its affiliated companies have no obligation to pursue any course of business outlined in this document or any related presentation, or to develop or
release any functionality mentioned therein. This document, or any related presentation, and SAP SEs or its affiliated companies strategy and possible future developments, products, and/or platform directions and functionality are all subject to change and may be changed by SAP SE or its affiliated companies at any time for
any reason without notice. The information in this document is not a commitment, promise, or legal obligation to deliver any material, code, or functionality. All forward-
looking statements are subject to various risks and uncertainties that could cause actual results to differ materially from expectations. Readers are cautioned not to place
undue reliance on these forward-looking statements, which speak only as of their dates, and they should not be relied upon in making purchasing decisions.