geo-information database for sample urban scenarios and - mobvis

48
MOBVIS FP6-511051 Deliverable Report D.5.1.2 “Geo-information database for sample urban scenarios and report” Vision Technologies and Intelligent Maps for Mobile Attentive Interfaces in Urban Scenarios Project co-funded by the European Commission Sixth Framework Programme (2002-2006) Information Society Technologies FP6-2002-IST-C / FET Open STREP Due date of deliverable: May 31, 2006 (month 12) Actual submission date: June 15, 2006 Start date of project: May 1, 2005 Duration: 36 months Work package 5 – Intelligent Maps Task 1 – Geo-Information for Intelligent Maps Lead contractor for this deliverable JRS Editor Patrick Luley Authors Patrick Luley, Linde Vande Velde, Christian Müller, Stefan Ladstätter, Alexander Almer Quality reviewer KTH Project co-funded by the European Commission within the Sixth Framework Programme (2002–2006) Dissemination Level PU Public X PP Restricted to other programme participants (including the Commission Services) RE Restricted to a group specified by the consortium (including the Commission Services) CO Confidential, only for members of the consortium (including the Commission Services)

Upload: others

Post on 09-Feb-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Geo-information database for sample urban scenarios and - mobvis

MOBVIS FP6-511051 Deliverable Report

D.5.1.2

“Geo-information database for sample urban scenarios and report”

Vision Technologies and Intelligent Maps for Mobile Attentive Interfaces in Urban Scenarios

Project co-funded by the European Commission Sixth Framework Programme (2002-2006)

Information Society Technologies FP6-2002-IST-C / FET Open

STREP Due date of deliverable: May 31, 2006 (month 12) Actual submission date: June 15, 2006 Start date of project: May 1, 2005 Duration: 36 months Work package 5 – Intelligent Maps Task 1 – Geo-Information for Intelligent Maps Lead contractor for this deliverable JRS Editor Patrick Luley Authors Patrick Luley, Linde Vande Velde, Christian

Müller, Stefan Ladstätter, Alexander Almer Quality reviewer KTH

Project co-funded by the European Commission within the Sixth Framework Programme (2002–2006)

Dissemination Level

PU Public X PP Restricted to other programme participants (including the Commission Services) RE Restricted to a group specified by the consortium (including the Commission Services) CO Confidential, only for members of the consortium (including the Commission Services)

Page 2: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 2

DOCUMENT HISTORY

Version Status Date Author 0 First Template with content from JRS 01.05.2007 JRS 1 Draft 16.05.2007 JRS 2 Final 30.05.2007 JRS 3 Reviewed by KTH 14.06.2007 KTH

Final 15.06.2007 JRS

Page 3: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 3

CONTENT

DOCUMENT HISTORY........................................................................................................................... 2 CONTENT ............................................................................................................................................... 3 1. INTRODUCTION ................................................................................................................................. 5 2. DATABASE TECHNOLOGIES USES................................................................................................ 5

2.1 POSTGRESQL........................................................................................................................... 5 2.2 POSTGIS .................................................................................................................................. 5 2.3 GDAL ........................................................................................................................................ 5 2.4 OGR.......................................................................................................................................... 6 2.5 PROJ......................................................................................................................................... 6

3. MOBVIS INTERNAL GEO-MM-DATABASE ...................................................................................... 6 3.1 DATABASE DESIGN .................................................................................................................... 6 3.2 STORABLE DATA........................................................................................................................ 7

3.2.1 Objects............................................................................................................................. 7 3.2.2 Users ............................................................................................................................... 7 3.2.3 UserObjects ..................................................................................................................... 7 3.2.4 UserPositions................................................................................................................... 7 3.2.5 UserTracks ...................................................................................................................... 8 3.2.6 UserActivities ................................................................................................................... 8 3.2.7 Messages ........................................................................................................................ 8 3.2.8 MessageTypes ................................................................................................................ 8 3.2.9 MessagesToUserData..................................................................................................... 8 3.2.10 Tasks ............................................................................................................................... 8 3.2.11 UsersToTasks.................................................................................................................. 8

3.3 DATA UPDATE AND QUERY WEB-SERVICE (DATA CONTROL) ................................................. 8 3.3.1 Technologies used .......................................................................................................... 8 3.3.2 Webservice Description (WSDL) ..................................................................................... 8 3.3.3 UploadUserLocationData ................................................................................................ 8 3.3.4 UploadUserPicture ........................................................................................................ 11 3.3.5 GetUserPicture .............................................................................................................. 12 3.3.6 HasUserPicture.............................................................................................................. 13 3.3.7 GetUserPosition............................................................................................................. 15 3.3.8 HasUserPosition............................................................................................................ 16 3.3.9 UploadUserObject ......................................................................................................... 17 3.3.10 UploadUserActivity ........................................................................................................ 17

4. TELE ATLAS DATABASE ............................................................................................................... 18 4.1 IMPORTING TELE ATLAS DATA................................................................................................... 18 4.2 DATABASE DESIGN .................................................................................................................. 19 4.3 MOBVIS SPECIFIC DATA VIEWS ................................................................................................. 19

4.3.1 Administrative Areas...................................................................................................... 21 4.3.2 Roads & Ferries............................................................................................................. 22 4.3.3 Road Furniture............................................................................................................... 23 4.3.4 Brunnels (Bridges & Tunnels)........................................................................................ 23 4.3.5 Railways ........................................................................................................................ 24 4.3.6 Settlements and Named Areas...................................................................................... 24 4.3.7 Land Cover & Use ......................................................................................................... 24 4.3.8 Waterways ..................................................................................................................... 25 4.3.9 Relationships / Services / POIs ..................................................................................... 26

4.4 TELE ATLAS MOBILE MAPPING DATAWARE HOUSE ..................................................................... 28 5. WEB BASED GEO VIEWER ............................................................................................................ 34

5.1 DESCRIPTION........................................................................................................................... 34 5.2 TECHNOLOGIES USED............................................................................................................... 34

5.2.1 HTML............................................................................................................................. 34

Page 4: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 4

5.2.2 Java Script ..................................................................................................................... 35 5.2.3 xAJAX............................................................................................................................ 35 5.2.4 PHP ............................................................................................................................... 35 5.2.5 UMN-Mapserver / Mapscript.......................................................................................... 35 5.2.6 SQL................................................................................................................................ 35

5.3 GUI ........................................................................................................................................ 36 5.4 FUNCTIONALITIES OF THE VIEWER............................................................................................. 36

5.4.1 Pan ................................................................................................................................ 36 5.4.2 Zoom.............................................................................................................................. 36 5.4.3 Query ............................................................................................................................. 37 5.4.4 Quick View Menu........................................................................................................... 37 5.4.5 Distance Measurement.................................................................................................. 37 5.4.6 Layer Management........................................................................................................ 37

5.5 GEOMETRIC ACCURACY ........................................................................................................... 38 6. SUMMARY AND OUTLOOK ............................................................................................................ 39 7. ANNEX I – WEB SERVICE DESCRIPTION DOCUMENT OF THE DATA CONTROL................... 40

Page 5: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 5

1. INTRODUCTION

This deliverable describes the final status of theoretical and practical work within Task 5.1 (Geo-Information for Intelligent Maps). The deliverable considers results shown in D5.1.1 and outlines the design and implementation of geo-databases, web-service based interfaces to upload and query geo-data from the databases and a web based geo-map-viewer used for the visualisation of geo-referenced data produced by the MOBVIS system. The document includes a detailed illustration of the technologies used to implement the geo-databases as well as the database design and the content of the databases. The detailed description of the interfaces implemented to fill and to query the geo-databases, based on web-service technology, will also be a major part of this deliverable. Further the MOBVIS geo-viewer, which is a web based map application showing Tele Atlas data combined with aerial pictures and user specific information, is described in detail. The importation and filtering of Tele Atlas data, to get MOBVIS specific datasets regarding the project use cases, are additional topics for this deliverable as well as the rendering of views out of the Tele Atlas 3D city model.

2. DATABASE TECHNOLOGIES USES

2.1 POSTGRESQL PostgreSQL is an open source database management system by the postgreSQL Global Development Group. It is very popular and supports many languages like PHP, C, C++, Java, Python or Pearl and runs on every common platform. The program uses a system called Multi-Version Concurrency Control (MVCC), which generates one instance of the data for each user. Thus, changes are not visible for other users making the use of read-locks obsolete.

2.2 POSTGIS PostGIS is an open source library by Refractions Research and is used for data manipulation of relational databases. It adds special functions to store and manipulate geographic data. Without PostGIS there is no way to store coordinates in the database. Geographic data can be saved as a WKT (Well-Known-Text) or as a WKB (Well-Known-Binary) string. The latter one uses less disc space and geospatial queries work faster, but the data is saved as an unreadable binary string. PostGIS furthermore provides support for spatial indexing, spatial queries like union or difference of two geometries and measurement algorithms like area, length or perimeter of geometry. So far only the function for storing geographic data (“addGeometryColumn”) is used in the current version of the viewer.

2.3 GDAL With help from GDAL (Geospatial Data Abstraction Library) it is possible to read and write geospatial data formats, which are in raster format. These are, for example:

Arc/Info ASCII Grid

Microsoft Windows Device Independent Bitmap (.bmp)

TIFF / GeoTIFF (.tif)

Page 6: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 6

Vexcel MFF2

JPEG JFIF (.jpg)

JPEG2000 (.jp2, .j2k)

Portable Network Graphics (.png)

(see also http://www.gdal.org/formats_list.html )

2.4 OGR OGR is a component of the GDAL suite. By using it, GIS related data can be imported as well as exported in a vector style format. Examples for supported types are:

ESRI Shapefiles S-57 SDTS PostGIS Oracle Spatial

2.5 PROJ The Cartographic Projection Procedures (PROJ) – provide filter functions which convert geographic longitude and latitude coordinates into Cartesian coordinates, by means of a wide variety of cartographic projection functions. For many of the projection functions the inverse conversion can also be performed.

3. MOBVIS INTERNAL GEO-MM-DATABASE

3.1 DATABASE DESIGN The following figure shows the entity relationship diagram of the MOBVIS internal database.

Page 7: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 7

Figure 1: Database design

3.2 STORABLE DATA This section describes the way information is saved into the database. Generally, every row in the system is addressable by either a unique name or a GUID (or both).

3.2.1 OBJECTS In this table, persistent data is stored. Every object is designed to have a name, description, file path and position. Additionally, arbitrary information for specific object types can be saved in the table “ObjectDetails” in a key – value scheme. In order to distinguish between various object types as well as symbols, foreign keys to both tables “ObjectTypes” and “Symbols” are present.

3.2.2 USERS The table “Users” is intended for user management. The field “name” (which also serves as primary key) forms with “password” the necessary login information. If there is additional information about the user necessary, the table can be adapted.

3.2.3 USEROBJECTS This table is designed for storing Objects which are inserted by the user during a capturing process. Similarly to the persistent “Objects” table, the fields “name”, “description”, “path”, and “geometry” (which is the position) are saved. In order to keep track of the time of insertion, a corresponding timestamp is written into the database. Additionally, to be able to differentiate between various users, among other foreign keys, a link to “Users” is recorded.

3.2.4 USERPOSITIONS While using the MOBVIS system, the user's position is determined and sent to the DataControl web service. For storing this information, the table “UserPositions” which has a

Page 8: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 8

foreign key relationship to the “Users” table is used. Likewise to the tables already mentioned, “geometry” gives information about the current position. The field “bearing” describes the angle of the direction the user is currently moving to. When receiving positioning information through a GPS device, the whole NMEA string is saved in “gps_raw”. In order to have an impression of the reliability of the dataset, a confidence value is stored too. Finally, the timestamp of the coordinate recording is also saved.

3.2.5 USERTRACKS If the user decides to record a track, the corresponding data is stored in “UserTracks”. In this table, the “geometry” - column is a line object, so there is only one row saved per track. Additionally, a field which denotes whether the track is active, is present. In order to be able to assign the track to certain time limits, start and end time are available too.

3.2.6 USERACTIVITIES This table is intended for saving the activities a user is performing. It contains a description and a confidence field.

3.2.7 MESSAGES The table “Messages” is designed to contain various kinds of notifications for the user. At the time being, these are status as well as error messages and processing results. The messages are connected to the user and task concerned through foreign keys. Saving the current timestamp is also necessary.

3.2.8 MESSAGETYPES As mentioned above, the system is capable to handle various kinds of messages. In this table, the template and the formatting options (xslt) for the received message is defined. Similarly to the “Objects” and “UserObjects”, a specific symbol for a certain message type is saved too.

3.2.9 MESSAGESTOUSERDATA This table is intended to create a connection between user data and result messages.

3.2.10 TASKS In order to start a certain processing routine, a user has to define a task for the attentive interface. The task name and description are stored in this table.

3.2.11 USERSTOTASKS In this table, a n – n connection between Users and Tasks is saved.

3.3 DATA UPDATE AND QUERY WEB-SERVICE (DATA CONTROL) The Data Control (see D6.1.1) is implemented within Task 5.1 as a web service. Each web method of the Data Control is described in this chapter. The whole Web Service Description Language document (WSDL) can be found in Annex I. The following chapter describes each Geo-Service web method with its input and output parameters and how the XML based well-formed request and response of each method look like.

3.3.1 TECHNOLOGIES USED (see D5.2)

3.3.2 WEBSERVICE DESCRIPTION (WSDL)

3.3.3 UPLOADUSERLOCATIONDATA This web method is used to upload Information about the user's position.

Page 9: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 9

3.3.3.1 INTERFACE Input Parameters x ArrayOfFloat

y ArrayOfFloat

z ArrayOfFloat

bearing ArrayOfFloat

gps_timestamp ArrayOfString

client_timestamp ArrayOfString

gps_raw ArrayOfString

user_id string

confidence ArrayOfFloat Output Parameters uploadUserLocationDataResult string

3.3.3.2 REQUEST / RESPONSE POST /webservices/Mobvis/DataControl/DataControl.asmx SOAPAction: http://dibs009.joanneum.at/webservices/Mobvis/DataControl/uploadUserLocationData Content-Type: text/xml; charset=utf-8 Content-Length: string Host: string <?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <uploadUserLocationData xmlns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/"> <x> <float>float</float> <float>float</float> </x> <y> <float>float</float> <float>float</float> </y> <z> <float>float</float> <float>float</float> </z> <bearing> <float>float</float> <float>float</float> </bearing> <gps_timestamp> <string>string</string> <string>string</string> </gps_timestamp> <client_timestamp> <string>string</string> <string>string</string> </client_timestamp> <gps_raw>

Page 10: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 10

<string>string</string> <string>string</string> </gps_raw> <user_id>string</user_id> <confidence> <float>float</float> <float>float</float> </confidence> </uploadUserLocationData> </soap:Body> </soap:Envelope>

HTTP/1.0 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: string <?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <uploadUserLocationDataResponse xmlns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/"> <uploadUserLocationDataResult>string</uploadUserLocationDataResult> </uploadUserLocationDataResponse> </soap:Body> </soap:Envelope>

3.3.3.3 TEST FORM http://dibs009.joanneum.at/webservices/Mobvis/DataControl/DataControl.asmx?page=op&op

=uploadUserLocationData&bnd=DataControlSoap&tab=test

Figure 2: uploadUserLocationData test form

Page 11: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 11

3.3.4 UPLOADUSERPICTURE With this web method, it is possible to upload images. After being uploaded, the web method integrates the data in the user interface.

3.3.4.1 INTERFACE Input Parameters picture base64Binary

focal_length int

timestamp string

user_id string Output Parameters uploadUserPictureResult string

3.3.4.2 REQUEST / RESPONSE POST /webservices/Mobvis/DataControl/DataControl.asmx SOAPAction: http://dibs009.joanneum.at/webservices/Mobvis/DataControl/uploadUserPicture Content-Type: text/xml; charset=utf-8 Content-Length: string Host: string <?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <uploadUserPicture xmlns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/"> <picture>base64Binary</picture> <focal_length>int</focal_length> <timestamp>string</timestamp> <user_id>string</user_id> </uploadUserPicture> </soap:Body> </soap:Envelope>

HTTP/1.0 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: string <?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <uploadUserPictureResponse xmlns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/"> <uploadUserPictureResult>string</uploadUserPictureResult> </uploadUserPictureResponse> </soap:Body> </soap:Envelope>

3.3.4.3 TEST FORM http://dibs009.joanneum.at/webservices/Mobvis/DataControl/DataControl.asmx?page=op&op=uploadUserPicture&bnd=DataControlSoap&tab=test

Page 12: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 12

Figure 3: uploadUserPicture test form

3.3.5 GETUSERPICTURE After specifying a user name, timestamp und a certain time tolerance, this web method returns the picture which fits the parameters best.

3.3.5.1 INTERFACE Input Parameters user_name string

timestamp string

time_tolerance float Output Parameters getUserPictureResult ImagePositionResponse

3.3.5.2 REQUEST / RESPONSE POST /webservices/Mobvis/DataControl/DataControl.asmx SOAPAction: http://dibs009.joanneum.at/webservices/Mobvis/DataControl/getUserPicture Content-Type: text/xml; charset=utf-8 Content-Length: string Host: string <?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getUserPicture xmlns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/"> <user_name>string</user_name> <timestamp>string</timestamp> <time_tolerance>float</time_tolerance> </getUserPicture> </soap:Body> </soap:Envelope>

HTTP/1.0 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: string

Page 13: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 13

<?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getUserPictureResponse xmlns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/"> <getUserPictureResult> <image_>base64Binary</image_> <lat_>double</lat_> <lon_>double</lon_> <alt_>double</alt_> </getUserPictureResult> </getUserPictureResponse> </soap:Body> </soap:Envelope>

3.3.5.3 TEST FORM http://dibs009.joanneum.at/webservices/Mobvis/DataControl/DataControl.asmx?page=op&op=getUserPicture&bnd=DataControlSoap&tab=test

Figure 4: getUserPicture test form

3.3.6 HASUSERPICTURE With this method, the database is queried, whether a certain picture with the specified parameters is present.

3.3.6.1 INTERFACE Input Parameters user_name string

timestamp string

time_tolerance float Output Parameters hasUserPictureResult boolean

Page 14: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 14

3.3.6.2 REQUEST / RESPONSE POST /webservices/Mobvis/DataControl/DataControl.asmx SOAPAction: http://dibs009.joanneum.at/webservices/Mobvis/DataControl/hasUserPicture Content-Type: text/xml; charset=utf-8 Content-Length: string Host: string <?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <hasUserPicture xmlns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/"> <user_name>string</user_name> <timestamp>string</timestamp> <time_tolerance>float</time_tolerance> </hasUserPicture> </soap:Body> </soap:Envelope>

HTTP/1.0 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: string <?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <hasUserPictureResponse xmlns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/"> <hasUserPictureResult>boolean</hasUserPictureResult> </hasUserPictureResponse> </soap:Body> </soap:Envelope>

3.3.6.3 TEST FORM http://dibs009.joanneum.at/webservices/Mobvis/DataControl/DataControl.asmx?page=op&op=hasUserPosition&bnd=DataControlSoap&tab=test

Figure 5: hasUserPicture test form

Page 15: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 15

3.3.7 GETUSERPOSITION With help from this method, one is able to find a certain position by querying the system with user name, timestamp und a time tolerance.

3.3.7.1 INTERFACE Input Parameters user_name string

timestamp string

time_tolerance float Output Parameters getUserPositionResult UserPositionResponse

3.3.7.2 REQUEST / RESPONSE POST /webservices/Mobvis/DataControl/DataControl.asmx SOAPAction: http://dibs009.joanneum.at/webservices/Mobvis/DataControl/getUserPosition Content-Type: text/xml; charset=utf-8 Content-Length: string Host: string <?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getUserPosition xmlns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/"> <user_name>string</user_name> <timestamp>string</timestamp> <time_tolerance>float</time_tolerance> </getUserPosition> </soap:Body> </soap:Envelope>

HTTP/1.0 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: string <?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getUserPositionResponse xmlns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/"> <getUserPositionResult> <lat_>double</lat_> <lon_>double</lon_> <alt_>double</alt_> <confidence_>double</confidence_> </getUserPositionResult> </getUserPositionResponse> </soap:Body> </soap:Envelope>

Page 16: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 16

3.3.7.3 TEST FORM http://dibs009.joanneum.at/webservices/Mobvis/DataControl/DataControl.asmx?page=op&op=getUserPosition&bnd=DataControlSoap&tab=test

Figure 6: getUserPosition test form

3.3.8 HASUSERPOSITION This method takes the same arguments as GetUserPosition, but it only returns a Boolean value.

3.3.8.1 INTERFACE Input Parameters user_name string

timestamp string

time_tolerance float Output Parameters hasUserPositionResult boolean

3.3.8.2 REQUEST / RESPONSE POST /webservices/Mobvis/DataControl/DataControl.asmx SOAPAction: http://dibs009.joanneum.at/webservices/Mobvis/DataControl/hasUserPosition Content-Type: text/xml; charset=utf-8 Content-Length: string Host: string <?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <hasUserPosition xmlns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/"> <user_name>string</user_name> <timestamp>string</timestamp> <time_tolerance>float</time_tolerance> </hasUserPosition> </soap:Body> </soap:Envelope>

Page 17: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 17

HTTP/1.0 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: string <?xml version="1.0" encoding="utf-16"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <hasUserPositionResponse xmlns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/"> <hasUserPositionResult>boolean</hasUserPositionResult> </hasUserPositionResponse> </soap:Body> </soap:Envelope>

3.3.8.3 TEST FORM http://dibs009.joanneum.at/webservices/Mobvis/DataControl/DataControl.asmx?page=op&tab=test&op=hasUserPosition&bnd=DataControlSoap

Figure 7: hasUserPosition test form

3.3.9 UPLOADUSEROBJECT This method is intended for giving the user a means to add objects to the recognition system himself. In order to define an object, the user has the possibility to put a bounding box into an image. Alongside with some meta-data the picture is uploaded then. This method is planned but not yet implemented.

3.3.10 UPLOADUSERACTIVITY With this method, a user can define his current activities. This method is planned but not yet implemented.

3.3.10.1 INTERFACE Input Parameters user_name string

activity_description string[]

timestamp string[]

confidence float

Page 18: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 18

4. TELE ATLAS DATABASE

4.1 IMPORTING TELE ATLAS DATA Data provided by Tele Atlas are based on the standardized Shape file specification. Information for one thematic layer consists of three mandatory files (geometry, index and database) and several optional files (projection, metadata …). The usage of shape files is easy but limited in comparison to a database. Databases provide better data manipulation algorithms and work faster than shape files. Therefore the open postgre database – in conjunction with PostGIS – is used. For conversion from a shape file to a postgre database the program “shp2pgsql.exe” was used. This is a standard program from the postgre installation. Since it is command line based it would be a lot of work to run the program for each shape file. For this reason the Matlab program “Make_Convert_bat_TA.m” reads in the filename of each layer generating a batch file (!shp2sql.bat) that includes the command line parameters for all shape files. Example: content of the batch file

shp2pgsql.exe -c -g geometry autaut________00.shp autaut________00 > autaut________00.sql shp2pgsql.exe -c -g [Geometryname] [Shapefilename].shp [Tablename] > [SQL-Name].sql

The output of the batch file is a SQL-statement for each shape file. This controls the creation of a table, sets the data type for every column and adds data via an Insert-command. Example: SQL Statements

BEGIN; CREATE TABLE "autaut________03" (gid serial PRIMARY KEY, "frc" int2, "name" varchar(70), "namelc" varchar(3), "nametyp" varchar(2), "routenum" varchar(10), "rtetyp" int2, "rtedir" varchar(2), "rtedirvd" varchar(2)); SELECT AddGeometryColumn('','autaut________03','geometry','-1','MULTILINESTRING',2); INSERT INTO "autaut________03" ("frc","name","namelc","nametyp","routenum","rtetyp","rtedir","rtedirvd",geometry) VALUES ('3','Mitterndorf','GER','ON',NULL,'0',NULL,NULL,'01050000000100000001…'); INSERT INTO "autaut________03" ("frc","name","namelc","nametyp","routenum","rtetyp","rtedir","rtedirvd",geometry) VALUES ('3','Mitterndorf','GER','ON',NULL,'0',NULL,NULL,'01050000000100000001…'); INSERT INTO "autaut________03" ("frc","name","namelc","nametyp","routenum","rtetyp","rtedir","rtedirvd",geometry) VALUES ('3','Mitterndorf','GER','ON',NULL,'0',NULL,NULL,'01050000000100000001…'); . . . END;

These SQL-commands can be evaluated via “pgadmin III” or the web based pendant “phppgadmin”. As visible in the example the primary key “gid” is defined. This is valid for all tables and enables SQL to work and query faster.

Page 19: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 19

4.2 DATABASE DESIGN The database was created with “pgadmin III” on basis of a template which automatically imports all PostGIS functions. Especially the function “addGeometryColumn” is important because it is impossible to store coordinates in the postgreSQL database without this function. Specifications:

Database: Tele Atlas_14_05_2007 Owner: Joanneum_admin Encoding: Latin1 Tablespace: pg_default

The whole database is structured in tables and views. The original data from the converted shape files is contained in the tables. They are classified but although contain more than one feature class. The different classes are distinguished by their feature type (column feattyp). The views contain those filtered datasets. On the one hand views are generated for the whole Austrian federal territory and on the other hand only for Graz. They are distinguishable through different prefixes (“AT_” or “GRAZ_”). Geometry and Metadata are combined in one table. That makes queries easier and faster and the whole database structure becomes clearer. In general every entry has an original name or an alternative name respectively. Therefore the tables which contain the alternative names are not used and an additional sub query can be avoided. The default postgreSQL settings are very conservative. The working memory for example is the amount of memory for a single user. The default value of 1 MB is very low therefore an increase about the factor of ten was done. Maintaince memory is used for background tasks like vacuuming a table.

New server settings: • shared_buffer 128000 kB • work_mem 10240 kB • maintenaince_work_mem 32768 kB

4.3 MOBVIS SPECIFIC DATA VIEWS Tele Atlas provides vector data for the whole federal territory of Austria in the shape file format. Chapter 4.1 describes the conversion from shape file to the postgre database. There always exist two entries for one feature. The values are equal, but one entry does only contain empty geometry data. Therefore only geo-referenced data is affected by the view creation. This halves the view’s size and makes data access faster. It could be possible that these useless entries come from the conversion from shape file to database. Example: View Creation

Page 20: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 20

Figure 8: Creation of views based on shape and dBase files

Thematic separation:

Figure 9: sequence of conversion and view creation

Some files contain more than one thematic layer and therefore data filtering has to be done in two steps. First the shape files are separated in views, according to the different thematic layers. This thematic filtering generates a set of views for Austria. In a second step a geographic filtering is processed, which crops the data according to a bounding box around the city borders of Graz (plus an overlap of 1km). This produces a second set of views separated by thematic and with reduced geographic extents.

Page 21: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 21

Figure 10: geo-spatial data filtering for Graz (all layers)

For MOBVIS almost any type of vector information is important. The Main focus is on (pedestrian) navigation and tourist applications. Important features for that are for example streets, especially POIs, parks, rivers or even post codes. Every feature class has its own set of attributes – mainly ID, name, length or area and other information. A few shape files, like the borders of Austria (polygon), are only present in the Austria-dataset. In this documentation these chapters are marked with an asterisk.

4.3.1 ADMINISTRATIVE AREAS 4.3.1.1 COUNTRY BORDERS*

Source: aut___________a0.shp View: AT_Country Type: Polygon Class-ID: 1111 Content: Austrian Borders

ID, FeatTyp, Name, Area, Perimeter … Comment: Buildings and Building Areas

4.3.1.2 FEDERAL STATE BORDERS* Source: aut___________a1.shp View: AT_FederalStates Type: Polygon Class-ID: 1112 Content: ID, FeatTyp, Name, Area, Perimeter …

Page 22: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 22

4.3.1.3 ADMINISTRATIVE AREAS: COUNTY BORDERS* Source: aut___________a7.shp View: AT_Counties Type: Polygon Class-ID: 4118 Content: ID, FeatTyp, Name, Area, Perimeter … Comment: Buildings and Building Areas

4.3.1.4 ADMINISTRATIVE AREAS: DISTRICT BORDERS* Source: aut___________a8.shp View: AT_Districts Type: Polygon Class-ID: 1119 Content: ID, FeatTyp, Name, Area, Perimeter …

4.3.1.5 VIENNA DISTRICT BORDERS* Source: aut___________a9.shp View: AT_Vienna Type: Polygon Class-ID: 1120 Content: ID, FeatTyp, Name, Area, Perimeter … Comment: Outer borders and district borders of Vienna

4.3.2 ROADS & FERRIES 4.3.2.1 JUNCTIONS

Source: autaut________jc.shp View(s): AT_Junctions

GRAZ_Junctions Type: Point Class-ID: 4120 Content: ID, FeatTyp

4.3.2.2 ROAD ELEMENTS Source: autaut________nw.shp View(s): AT_Roads_general

GRAZ_Roads_general Type: Polyline Class-ID: 4110 Content: ID, FeatTyp, Name, Length, speed limit, time consumption … Comment: Roads and Highways

4.3.2.3 FERRIES* Source: autaut________nw.shp View: AT_Ferries Type: Polyline Class-ID: 4130 Content: ID, FeatTyp, Name, Length, speed limit, time consumption … Comment: Ferries in Austria. No entries for Graz. Therefore no need for

own view.

Page 23: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 23

4.3.3 ROAD FURNITURE 4.3.3.1 SIGNPOST INFORMATION

Source: autaut________sg.shp View(s): AT_Signposts

AUT_Signposts Type: Point Class-ID: 2128 Content: ID, FeatTyp, Junction-ID Comment: Sign posts along highways and feeder roads

4.3.3.2 TRAFFIC SIGNS Source: autaut________ts.shp View(s): AT_TrafficSigns

GRAZ_TrafficSigns Type: Point Class-ID: 7220 Content: ID, FeatTyp, Position Comment: Traffic signs along highways and Graz inner city

4.3.4 BRUNNELS (BRIDGES & TUNNELS) 4.3.4.1 BRUNNELS (POINT)

Sources: autaut________ps.shp View(s): AT_Brunnels_Point

GRAZ_ Brunnels_Point Type: Point Class-ID: 7500 Content: ID, Feattyp, Name, Structure Type Comment: Pointinformation to Bridges and Tunnels

4.3.4.2 BRUNNELS (LINE) Sources: autaut________ls.shp View(s): AT_ Brunnels_Line

GRAZ_ Brunnels_Line Type: Line Class-ID: 7500 Content: ID, Feattyp, Name, Structure Type Comment: Bridges and Tunnels as Line Features.

4.3.4.3 BRUNNELS (POLYGON) Sources: autaut________as.shp View(s): AT_ Brunnels_Polygon

GRAZ_ Brunnels_Polygon Type: Polygon Class-ID: 7500 Content: ID, Feattyp, Name, Structure Type Comment: Bridges and Tunnels as Polygon Features. Mainly big bridges

and tunnels

Page 24: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 24

4.3.5 RAILWAYS 4.3.5.1 RAILWAY ELEMENTS

Source: autaut________rr.shp View(s): AUT_Railways

GRAZ_Railways Type: Polyline Class-ID: 4210 Content: ID, FeatTyp, Junction-IDs, Length … Comment: Only tracks, no signs or junctions

4.3.6 SETTLEMENTS AND NAMED AREAS 4.3.6.1 SETTELMENT CENTRES*

Source: autaut________sm.shp View: AUT_Settelment Type: Point Class-ID: 7379 Content: ID, FeatTyp, Name, district name, post code, IDs for linking … Comment: Center of city or town. Not useful for Graz dataset.

4.3.6.2 BUILT-UP AREAS* Source: autaut________bu.shp View: AUT_Builtup Type: Polygon Class-ID: 3110 Content: ID, FeatTyp, Name, Area, Perimeter … Comment: City / town borders (also Graz Polygon). Not useful for Graz

dataset.

4.3.6.3 POSTAL DISTRICTS Source: autaut________pd.shp Views: AUT_Postcode

GRAZ_Postcode Type: Polygon Class-ID: 7379 Content: ID, FeatTyp, Name, Area, Perimeter, post code, Name (all

empty)

4.3.7 LAND COVER & USE 4.3.7.1 WOODLAND

Source: autaut________lc.shp Views: AUT_Woods

GRAZ_Woods Type: Polygon Class-ID: 7120 Content: ID, FeatTyp, Area, Perimeter, Name (all empty)

4.3.7.2 PARK & GARDEN Source: autaut________lu.shp

Page 25: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 25

Views: AUT_Parks GRAZ_Parks

Type: Polygon Class-ID: 7170 Content: ID, FeatTyp, Area, Perimeter, Name, Acronym

4.3.7.3 HOSPITAL GROUND Source: autaut________lu.shp Views: AUT_Hospital

GRAZ_Hospital Type: Polygon Class-ID: 9748 Content: ID, FeatTyp, Area, Perimeter, Name, Acronym

4.3.7.4 INDUSTRIAL AREA Source: autaut________lu.shp Views: AUT_Industry

GRAZ_Industry Type: Polygon Class-ID: 9715 Content: ID, FeatTyp, Area, Perimeter, Name, Acronym

4.3.7.5 BUILDING (AREA) Source: autaut________lu.shp Views: AUT_Building

GRAZ_Building Type: Polygon Class-ID: 9715 Content: ID, FeatTyp, Area, Perimeter, Name, Acronym Comment: Buildings and Building Areas

4.3.7.6 SHOPPING CENTRES Source: autaut________lu.shp Views: AUT_ShoppingCentres

GRAZ_ShoppingCentres Type: Polygon Class-ID: 9790 Content: ID, FeatTyp, Area, Perimeter, Name, Acronym

4.3.8 WATERWAYS 4.3.8.1 WATER ELEMENT

Source: autaut________wa.shp / autaut________wl.shp Views: AUT_WaterElement

GRAZ_WaterElement Type: Polygon Class-ID: 4310 Content: ID, FeatTyp, Area, Perimeter, Name Comment: Rivers and lakes as polygons

Page 26: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 26

4.3.8.2 WATER CENTRE LINE Source: autaut________wl.shp Views: AUT_WaterLine

GRAZ_WaterLine Type: Line Class-ID: 9315 Content: ID, FeatTyp, River Type, Perimeter, Name Comment: Only major rivers as lines

4.3.9 RELATIONSHIPS / SERVICES / POIS 4.3.9.1 SERVICE ALONG ROAD ELEMENT (POIS)

Source: autaut________pi.shp Type: Point Content: ID, FeatTyp, Name, Street Name, House Number, Post Code,

District Name, Tel, Fax, Email, Homepage … Comment: Contains all POIs (Hotel, Restaurants, shops, museums …).

Unique ID for every Class.

This class contains all POI entries from Airport to Zoo. All services are stored in the point shape file “autaut________pi.shp”. The unique feature class-ID (database column “FeatTyp”) of every single service is used to generate several views containing only one feature class. Again only entries with a valid geometry are added to the view. Finally attribute filtering instances only data within the city borders of Graz. The responsible attribute is called “munname”. Not every table contains data. This is especially true for features like ferries or amusement parks, which are not located at Graz, although these files are automatically generated. Every table contains a hidden object-ID “oid” which represents the primary key. Data selection without explicit mentioning of this column does still produce a result, but Mapserver cannot work with the views. Without a primary key it is impossible to query the entries and therefore drawing fails. Example: POI Data Filtering

Select oid, * from autaut________pi where FeatTyp=7342 AND geometry <> 'NULL'; Select oid, * from autaut________pi where FeatTyp=7342 AND munname='Graz' AND geometry <> 'NULL';

Following table shows the feature type (class-ID) and the corresponding view name. Depending on the map extents all views start with the prefixes “AT_POI_” or “GRAZ_POI_” respectively. Some classes are just theoretically planned but not yet realised. Those services are marked with red colour and they don’t possess a view.

Service FeatTyp View Airline Access 7356 AirlineAccess Airport 7383 Airport Amusement Park 9902 Amusement Beach 9357 Beach Camping Ground 7360 Camping Car Dealer 9910 CarDealer

Page 27: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 27

Cash Dispenser 7397 Cash Casino 7341 Casino Cinema 7342 Cinema College/University 7377 CollegeUni Company 9352 Company Concert Hall 9367 Concert Convention Centre 9377 Convention Courthouse 9907 Courthouse Cultural Centre 7319 Culture Dentist 9374 Dentist Doctor 9373 Dr Drive Through Bottle Shop 9358 - Embassy 7365 Embassy Exhibition Centre 7385 ExhibCentre Ferry Terminal 7352 FerryTerminal Frontier Crossing 7366 - Golf Course 9911 - Hospital 7321 Hospital Hotel or Motel 3714 Hotel_Motel Ice Skating Rink 9360 - Important Tourist Attraction 7376 POI_Tourist Library 9913 Library Mountain Pass 9935 - Mountain Peak 9364 - Museum 7317 Museum Music Centre 9372 Music Nightlife 9379 - Opera 9365 Opera Open Parking Area 7369 Parking Park & Recreation Area 9362 Parks Parking Garage 7313 Garage Petrol Station 7311 Petrol Pharmacy 7326 Pharma Place of Worship 7339 Worship Police Station 7322 Police Post Office 7324 PostOffice Railway Station 7380 TrainStation Rent-a-car Facility 7312 RentCarFacility Rent-a-car Parking 9930 RentCarParking Car Repair Facility 7310 Mechanic Rest Area 7395 RestArea Restaurant 7315 Restaurant Restaurant Area 9359 - Scenic/Panoramic View 7337 POI_Panorama Shop 9361 Shops Shopping Centre 7373 Shopping Sports Centre 7320 Sports_Centre Sports Hall 9922 Sports_Hall Stadium 7374 Stadium Swimming Pool 7338 Swimming Tennis Court 9369 Tennis Theatre 7318 Theatre Tourist Information Office 7316 TouristInfo Veterinarian 9375 Veterinarian

Page 28: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 28

Water Sports 9371 Sports_Water Winery 7349 Winery Yacht-Bassin 9380 - Zoo 9927 Zoo Government Office 7367 GovOffice

Table 1: Listing of data, feature class and corresponding view

4.4 TELE ATLAS MOBILE MAPPING DATAWARE HOUSE One of the original goals of using the Tele Atlas enhanced maps in the MOBVIS project is to compare the results of the object recognition tool of the in the field indicated object with the content available in the TA enhanced maps which is stored in the MOBVIS geo database and advice which min required LOD of enhanced content is required in order to recognise the information present in the user created images (co-operation with University of Ljubljana & KTH).

Page 29: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 29

Figure 11: Different LOD of enhanced Tele Atlas 3D map content

Currently the Tele Atlas mobile mapping images are only used as source to produce and maintain the Tele Atlas standard and enhanced geo databases.

Figure 12: The Tele Atlas mobile mapping vans all over the world

Page 30: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 30

The mobile mapping images are captured with a frequency of 3 images per second on 6 cameras mounted on top of the roof of the mobile mapping van. In combination with the gps information and the calibration information of the cameras, coordinates can be generated for each individual image. An extra MOBVIS goal is to set up a Mobile Mapping Data warehouse tool allowing to use also the raw and processed Tele Atlas mobile mapping imagery linked to the MOBVIS geo database in order to use the mobile mapping imagery to evaluate the metric positioning tool, which should provide accurate position information comparing user images with archived TA geocoded mobile mapping images. (co-operation with University of Ljubljana & KTH, TUD). As a result of the extra goal following extra Tele Atlas research and development activities are defined:

1) The set up of a mobile mapping server, where raw and processed mobile mapping data of Graz area will be stored, and which will become accessible via a web service interface to the MOBVIS consortium and linked to the MOBVIS geodatabase.

2) Definition & description of the 2 types of mobile mapping data products: a. raw mobile mapping data

Figure 13: raw mobile mapping data

b. virtual planes

Page 31: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 31

Figure 14: Examples virtual planes

c. methods and procedures to create new defined mobile mapping data products

d. methods to create meta information for the mobile mapping images

i. Generating location related meta information: based on position information of the gps track, the calibration information of the cameras and the Tele Atlas address database

- <CarLocation> <X>-87628266</X> <Y>41898854</Y> </CarLocation> - <LocationData> <Street>E Delaware Pl</Street> <NetClass>3</NetClass> <City>Chicago</City> <Neighborhood>Gold Coast</Neighborhood>

ii. Generating content related meta information: based on objects present in the database

Page 32: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 32

Figure 15: Generating content related meta information: based on

objects present in the databas

- <Events>http://malta/dddquery.cgi?dddid=4476423&returntype=meta - # - <Event> <Type>DriverSafety</Type> <Subtype>School sign</Subtype> <Type>PublicSafety</Type> <Subtype>Fire hydrant</Subtype> <Type>POI</Type> <Subtype>Bank</Subtype> <Type>PublicService</Type> <Subtype>PostDrop</Subtype> </Event> </Events>http://malta/dddquery.cgi?dddid=4476423&returntype=meta - # - <CarLocation> <X>-87627312</X> <Y>41900804</Y> </CarLocation> </DigitalDocument>

iii. Adding logically-linked metadata to the image based on the content of the image

- <Events>http://malta/dddquery.cgi?dddid=4476423&returntype=meta - # - <Event> <Type>DriverSafety</Type> <Subtype>School sign</Subtype> <Text>Ogden Elementary</Text> <Type>POI</Type> <Subtype>Bank</Subtype> <Text>Oak Trust & Savings Bank</Text> </Event>

Page 33: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 33

</Events>http://malta/dddquery.cgi?dddid=4476423&returntype=meta - # - <CarLocation> <X>-87627312</X> <Y>41900804</Y> </CarLocation> </DigitalDocument>

e. prototype the 2 types of mobile mapping data products

3) Creation of a web service user interface to access the mobile mapping data products

Figure 16: user interface to access the mobile mapping data products

4) Validation and testing of the requests and retrievals 5) Link the mobile mapping data warehouse to the MOBVIS geo database 6) Use the mobile mapping data warehouse web service interface

a. To provide accurate position information comparing user images with archived TA geocoded mobile mapping images

b. To use the meta information linked to the mobile mapping imagery to compare objects presents in the mobile mapping imagery with the ones present in the user generated images.

Page 34: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 34

5. WEB BASED GEO VIEWER

Figure 17: Screenshot of the web based viewer

5.1 DESCRIPTION The viewer is designed to read and visualize Map files. Raster images like the aerial image or the city-map are stored on a server at the Joanneum Research. Vector data are stored on an external server connected with the Map file through a postgreSQL database. Data fusion of raster- and vector-data is therefore possible. Every standard navigation function like zoom, pan or query is supported. It is also possible to zoom to the centre with a fixed zoom factor of ±2 or to reload the initial map extents from the Map file. Further information to the current map is provided by a scale bar, scale information and a reference map. The legend contains checkboxes to control the visibility of layers and labels. Each layer name, layer type and the current status (on / off) is read in from the Map file during the viewer initialization (body onload). The small green and red buttons activate or deactivate all checkboxes with only one click. The purpose of the viewer is to combine vector and raster data and visualize them together for further analyzing and comparisons.

5.2 TECHNOLOGIES USED The viewer is based on the open source UMN-Map server in conjunction with HTML, Java Script, xAJAX, PHP, Map script and SQL. The GUI is designed in HTML and the program structure is based on a strict separation between java script and PHP.

5.2.1 HTML The GUI is based on HTML in combination with CSS (Cascading Style Sheet). The whole design is based on division-tags with embedded forms. This is useful for dynamic web

Page 35: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 35

pages, because the content of a division can be updated by server side PHP and the usage of HTML-strings.

5.2.2 JAVA SCRIPT Every interaction with the client is controlled by java script. Pure HTML is very static, but with the usage of Java Script dynamic-HTML becomes possible. Therefore all client-side functions are based on java script. Functionalities like zoom or pan are solved with Java Script. The server only has to generate the maps with the calculated extents.

5.2.3 XAJAX xAJAX coordinates the update of any HTML-Element without reloading the page, which works much faster and is more user-friendly. The asynchronous communication between server and client is established via a standardized XmlHttpRequest object. It is used to transfer XML or other text to and from a web server with HTTP methods via an independent communication channel. Because of this independency java script can process client-side tasks while other server-side tasks are sent to the server.

5.2.4 PHP Hypertext Pre-processor (also: Personal Home Page Tools) With PHP, which is also very popular open source product, it is possible to generate website content dynamically by querying additional sources. Server-side functions are programmed in PHP and it has an interface for Mapscript and SQL. Those properties make PHP the perfect language for this project.

5.2.5 UMN-MAPSERVER / MAPSCRIPT The UMN-MapServer is an open source map server for vector and raster visualization. A wide variety of data like OGC standardized services or ESRI’s shapefile are supported. Mapserver needs a running web server to communicate with the internet. In this case this is an Apache Webserver. In combination with a database like postgreSQL the UMN-MapServer becomes a powerful tool for map visualization tasks. The standard format is the shape file and has the file extension “.map”. Almost every time and also in this project the map file is stored locally in the same directory as the viewer itself. This makes data access faster especially when map script often needs to access the map, like in this case. MapServer possesses the built in scripting language MapScript which can be controlled by programs like PHP or Perl. Map Script offers many functions to query or modify values in the map file. However, the original map file stays untouched. Map script corresponds to the dynamic part of the MapServer.

5.2.6 SQL Structured Query Language SQL is a standardized relational database management system. Some major database products still use the term “SQL” in their product-names. Beside postgreSQL there also exist other products like MySQL or Microsoft SQL-Server. This project uses postgreSQL because it supports all common database functions, is open source and has an interface to PHP. Moreover SQL is used to import shape- and dbase-files (.dbf) into the postgreSQL database.

Page 36: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 36

5.3 GUI The HTML-design is based on HTML-divisions in combination with a CSS. In comparison to tables or iframes any division tag can be positioned, disabled or enabled via java script. The design of the viewer is dynamic, which means that the user can position the divisions wherever he wants during runtime.

5.4 FUNCTIONALITIES OF THE VIEWER The viewer provides all standard tools:

• Pan • Zoom at centre • Zoom by point • Zoom by rectangle (will be implemented in the next version) • Reset Extents • Query by Point • Distance Measurement • Layer Management

5.4.1 PAN

A click on the Main Map starts a function called “Point_it”. The current mouse coordinates inside the Main Map are input parameters of the function. With given map extents it is possible to calculate the metric representation of one pixel and transform the values from image- to map-coordinates.

YMouseCellSizeyyXMouseCellSizexxYMouseCellSizeyyXMouseCellSizexx

_*_*_*_*

maxmax

maxmax

minmin

minmin

+=+=+=+=

, with [ ][ ][ ][ ][ ]pxmapHeightmYLengthpxmapWidthmXLength

pxmCellSize_

_

=

=

Furthermore it is possible to pan via clicking one of the small arrows around the map. Each click moves the map in the desired direction. The amount of translation corresponds to the halved map size. The new calculated extents are written into the hidden form “frmMainMap” and are finally sent to the server for a map redraw.

5.4.2 ZOOM The viewer offers many possibilities to zoom in or out. The options “Fixed Zoom” and “Reload Extents” automatically calculate the new extents and redraw the map. Options “Zoom by Point” and “Zoom by Rectangle” wait for the clicked image coordinates of the main map. Every zoom function is purely java script based. Only map creation has to be done by the server which causes an automatic map reload with the recalculated extents. Overview:

Fixed Zoom

A simple way to zoom is the fixed zoom factors of ±2, which means that the extents will be halved or doubled. Zoom by Point

Page 37: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 37

This function transforms the clicked image coordinates to map coordinates, pans to those values and calculates the new extents based on a ±2 zoom-factor. Zoom by Rectangle

Two points are necessary to zoom to an arbitrary rectangle. JavaScript’s functions onDragStart and onDragEnd are used to determine the start- and end-coordinate of the bounding box. Again a transformation from image- to map-coordinates as well as the recalculation of the extents has to be done. Reload Extents

The function reloads the original map extents from the Map file and automatically redraws the map.

5.4.3 QUERY

A click on one of the information icons enables the querying-mode. Because of this a click on the main will not force the viewer to redraw, nor to zoom or pan. The clicked mouse coordinates are written into the hidden form “frmMainMap”. The server receives those values and starts a query via map script’s functions “queryByPoint” and “getNumResults”. The query works over all layers and every layer with a feature at the queried coordinates (± tolerance units mentioned in the map file) is queried. The name of every column to query is stored in the map file too. Every layer’s results are sent back to the client as a HTML-string.

5.4.4 QUICK VIEW MENU Furthermore the user can save special areas of interest as a “Quick-View”. It is possible to save, load or delete an entry. The current time (hh:mm:ss) is always used as standard name. The map extents are written into a selection box. Those values are not permanently saved but are written into a session variable.

5.4.5 DISTANCE MEASUREMENT Every click on the main map is recorded in an array which is transmitted to the server where the distance is calculated. The result is passed back to the client. The line is defined by a line string which is saved as a session variable. Every time when the “Measure Distance” button is activated then the array gets cleared. The line itself is drawn by the standard map script function “drawLine()”. This does not work very fast but offers the possibility to adapt the measurement-line to pan- and zoom-actions. A client-side function would work much faster but the line would not react on pan or zoom. There is no possibility to solve the problem with java script because there is no relation between the clicked image coordinates and the real map coordinates. Furthermore an external java script file has to be embedded therefore the server side option is used.

5.4.6 LAYER MANAGEMENT The body-Onload-event starts the legend initialisation. At this point every layer in the map file gets analysed. Layer name, Layer type, Status (on/off) and the status of the labelling are sent back to the client as a HTML string. This string is responsible for the creation of the whole legend. Raster layers only get one radio button, but vector layers get two checkboxes – one for the layer-status and one for controlling of labels. Finally xAJAX is used to update the legend-string without the need of reloading the entire page. This dynamic approach makes it theoretically possible to add additional layers during runtime. Thinkable could be the import of OGC conform data via WMS (Web Map Service), WFS (Web Feature Service) or even WCS (Web Coverage Service).

Page 38: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 38

5.5 GEOMETRIC ACCURACY Altogether vector and raster data fits well to each other. A graphical comparison with the aerial image resulted in a geometric accuracy of about one meter. The layer “woods” seems to be shifted towards south and some woods are even missing in the data.

Figure 18: Inconsistencies between data and reality for the layer “woods”

The following figure shows generalisation problems of the street layer. Some minor streets are missing and others don’t fit to the aerial image. A high grade of generalisation or out-dated data could be the reason for that.

Page 39: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 39

Figure 19: Generalisation problem for the “streets” layer

6. SUMMARY AND OUTLOOK

An extensive geo-information data base was built up within the project based on existing map content from Tele Atlas and also especially generated geo-information focusing the specific requirements of the defined scenarios which are defined in work package 2. Finally two logical databases are implemented to encapsulate the MOBVIS internal geo-data and the Tele Atlas data. The data access has been realised with standardised web-services, which are implemented with Microsoft ”.NET” framework running in a Linux environment using the MONO project implementation of the dot net framework. Therefore, the data access within the project partners and also to potential external partners is standardised and allows an easy data exchange of geo-information like the current position of an user or a geo-referenced photo taken by the user. The web based geo-map-viewer described in this deliverable is available for all project partners and is intended to be used for the visualisation of all available geo-data from both databases. The core of the map-viewer component will be reused for the implementation of the MOBVIS user interface (see D5.2). One further major result is the reduction of complexity of the Tele Atlas data-structure to fit the needs of the MOBVIS system architecture by implementing database views. All implementations described in this deliverable are mandatory for the implementation of the Attentive Interface (see D6.1.1) and the MOBVIS demonstrator (see D7.2.1). This deliverable describes the final status of work within task T5.1. The ongoing development of the MOBVIS system will maybe lead to new demands for the Data Control or the even the internal MOBVIS database, which have to be taken into account and implemented in the future.

Page 40: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 40

7. ANNEX I – WEB SERVICE DESCRIPTION DOCUMENT OF THE DATA CONTROL

<?xml version="1.0" encoding="utf-16"?> <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:s0="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/" name="DataControl" targetNamespace="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <xs:schema elementFormDefault="qualified" targetNamespace="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="ArrayOfFloat"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="float" type="xs:float"/> </xs:sequence> </xs:complexType> <xs:complexType name="ArrayOfString"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="uploadUserLocationData"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="x" type="s0:ArrayOfFloat"/> <xs:element minOccurs="0" maxOccurs="1" name="y" type="s0:ArrayOfFloat"/> <xs:element minOccurs="0" maxOccurs="1" name="z" type="s0:ArrayOfFloat"/> <xs:element minOccurs="0" maxOccurs="1" name="bearing" type="s0:ArrayOfFloat"/> <xs:element minOccurs="0" maxOccurs="1" name="gps_timestamp" type="s0:ArrayOfString"/> <xs:element minOccurs="0" maxOccurs="1" name="client_timestamp" type="s0:ArrayOfString"/> <xs:element minOccurs="0" maxOccurs="1" name="gps_raw" type="s0:ArrayOfString"/> <xs:element minOccurs="0" maxOccurs="1" name="user_id" type="xs:string"/> <xs:element minOccurs="0" maxOccurs="1" name="confidence" type="s0:ArrayOfFloat"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="uploadUserLocationDataResponse"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="uploadUserLocationDataResult" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="uploadUserPicture"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="picture" type="xs:base64Binary"/> <xs:element minOccurs="1" maxOccurs="1" name="focal_length" type="xs:int"/> <xs:element minOccurs="0" maxOccurs="1" name="timestamp" type="xs:string"/> <xs:element minOccurs="0" maxOccurs="1" name="user_id" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="uploadUserPictureResponse"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="uploadUserPictureResult" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="getUserPicture"> <xs:complexType> <xs:sequence>

Page 41: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 41

<xs:element minOccurs="0" maxOccurs="1" name="user_name" type="xs:string"/> <xs:element minOccurs="0" maxOccurs="1" name="timestamp" type="xs:string"/> <xs:element minOccurs="1" maxOccurs="1" name="time_tolerance" type="xs:float"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="ImagePositionResponse"> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="image_" type="xs:base64Binary"/> <xs:element minOccurs="1" maxOccurs="1" name="lat_" type="xs:double"/> <xs:element minOccurs="1" maxOccurs="1" name="lon_" type="xs:double"/> <xs:element minOccurs="1" maxOccurs="1" name="alt_" type="xs:double"/> </xs:sequence> </xs:complexType> <xs:element name="getUserPictureResponse"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="getUserPictureResult" type="s0:ImagePositionResponse"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="hasUserPicture"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="user_name" type="xs:string"/> <xs:element minOccurs="0" maxOccurs="1" name="timestamp" type="xs:string"/> <xs:element minOccurs="1" maxOccurs="1" name="time_tolerance" type="xs:float"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="hasUserPictureResponse"> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="hasUserPictureResult" type="xs:boolean"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="getUserPosition"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="user_name" type="xs:string"/> <xs:element minOccurs="0" maxOccurs="1" name="timestamp" type="xs:string"/> <xs:element minOccurs="1" maxOccurs="1" name="time_tolerance" type="xs:float"/> </xs:sequence> </xs:complexType> </xs:element> <xs:complexType name="UserPositionResponse"> <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="lat_" type="xs:double"/> <xs:element minOccurs="1" maxOccurs="1" name="lon_" type="xs:double"/> <xs:element minOccurs="1" maxOccurs="1" name="alt_" type="xs:double"/> <xs:element minOccurs="1" maxOccurs="1" name="confidence_" type="xs:double"/> </xs:sequence> </xs:complexType> <xs:element name="getUserPositionResponse"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="getUserPositionResult" type="s0:UserPositionResponse"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="hasUserPosition"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" maxOccurs="1" name="user_name" type="xs:string"/> <xs:element minOccurs="0" maxOccurs="1" name="timestamp" type="xs:string"/> <xs:element minOccurs="1" maxOccurs="1" name="time_tolerance" type="xs:float"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="hasUserPositionResponse"> <xs:complexType> <xs:sequence> <xs:element minOccurs="1" maxOccurs="1" name="hasUserPositionResult" type="xs:boolean"/>

Page 42: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 42

</xs:sequence> </xs:complexType> </xs:element> <xs:element name="string" nillable="true" type="xs:string"/> <xs:element name="ImagePositionResponse" nillable="true" type="s0:ImagePositionResponse"/> <xs:element name="boolean" type="xs:boolean"/> <xs:element name="UserPositionResponse" nillable="true" type="s0:UserPositionResponse"/> </xs:schema> <xs:schema xmlns:tns="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" targetNamespace="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <xs:import namespace="http://schemas.xmlsoap.org/wsdl/"/> <xs:complexType name="ArrayOfFloat"> <xs:complexContent mixed="false"> <xs:restriction base="soapenc:Array"> <xs:attribute d7p1:arrayType="xs:float[]" ref="soapenc:arrayType" xmlns:d7p1="http://schemas.xmlsoap.org/wsdl/"/> </xs:restriction> </xs:complexContent> </xs:complexType> <xs:complexType name="ArrayOfString"> <xs:complexContent mixed="false"> <xs:restriction base="soapenc:Array"> <xs:attribute d7p1:arrayType="xs:string[]" ref="soapenc:arrayType" xmlns:d7p1="http://schemas.xmlsoap.org/wsdl/"/> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:schema> </types> <message name="uploadUserLocationDataSoapIn"> <part element="s0:uploadUserLocationData" name="parameters"/> </message> <message name="uploadUserLocationDataSoapOut"> <part element="s0:uploadUserLocationDataResponse" name="parameters"/> </message> <message name="uploadUserPictureSoapIn"> <part element="s0:uploadUserPicture" name="parameters"/> </message> <message name="uploadUserPictureSoapOut"> <part element="s0:uploadUserPictureResponse" name="parameters"/> </message> <message name="getUserPictureSoapIn"> <part element="s0:getUserPicture" name="parameters"/> </message> <message name="getUserPictureSoapOut"> <part element="s0:getUserPictureResponse" name="parameters"/> </message> <message name="hasUserPictureSoapIn"> <part element="s0:hasUserPicture" name="parameters"/> </message> <message name="hasUserPictureSoapOut"> <part element="s0:hasUserPictureResponse" name="parameters"/> </message> <message name="getUserPositionSoapIn"> <part element="s0:getUserPosition" name="parameters"/> </message> <message name="getUserPositionSoapOut"> <part element="s0:getUserPositionResponse" name="parameters"/> </message> <message name="hasUserPositionSoapIn"> <part element="s0:hasUserPosition" name="parameters"/> </message> <message name="hasUserPositionSoapOut"> <part element="s0:hasUserPositionResponse" name="parameters"/> </message> <message name="uploadUserLocationDataHttpGetIn"> <part name="x" xmlns:q1="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q1:ArrayOfFloat"/> <part name="y" xmlns:q2="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q2:ArrayOfFloat"/> <part name="z" xmlns:q3="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q3:ArrayOfFloat"/>

Page 43: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 43

<part name="bearing" xmlns:q4="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q4:ArrayOfFloat"/> <part name="gps_timestamp" xmlns:q5="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q5:ArrayOfString"/> <part name="client_timestamp" xmlns:q6="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q6:ArrayOfString"/> <part name="gps_raw" xmlns:q7="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q7:ArrayOfString"/> <part name="user_id" type="s:string"/> <part name="confidence" xmlns:q8="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q8:ArrayOfFloat"/> </message> <message name="uploadUserLocationDataHttpGetOut"> <part element="s0:string" name="Body"/> </message> <message name="uploadUserPictureHttpGetIn"> <part name="picture" type="s:base64Binary"/> <part name="focal_length" type="s:int"/> <part name="timestamp" type="s:string"/> <part name="user_id" type="s:string"/> </message> <message name="uploadUserPictureHttpGetOut"> <part element="s0:string" name="Body"/> </message> <message name="getUserPictureHttpGetIn"> <part name="user_name" type="s:string"/> <part name="timestamp" type="s:string"/> <part name="time_tolerance" type="s:float"/> </message> <message name="getUserPictureHttpGetOut"> <part element="s0:ImagePositionResponse" name="Body"/> </message> <message name="hasUserPictureHttpGetIn"> <part name="user_name" type="s:string"/> <part name="timestamp" type="s:string"/> <part name="time_tolerance" type="s:float"/> </message> <message name="hasUserPictureHttpGetOut"> <part element="s0:boolean" name="Body"/> </message> <message name="getUserPositionHttpGetIn"> <part name="user_name" type="s:string"/> <part name="timestamp" type="s:string"/> <part name="time_tolerance" type="s:float"/> </message> <message name="getUserPositionHttpGetOut"> <part element="s0:UserPositionResponse" name="Body"/> </message> <message name="hasUserPositionHttpGetIn"> <part name="user_name" type="s:string"/> <part name="timestamp" type="s:string"/> <part name="time_tolerance" type="s:float"/> </message> <message name="hasUserPositionHttpGetOut"> <part element="s0:boolean" name="Body"/> </message> <message name="uploadUserLocationDataHttpPostIn"> <part name="x" xmlns:q9="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q9:ArrayOfFloat"/> <part name="y" xmlns:q10="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q10:ArrayOfFloat"/> <part name="z" xmlns:q11="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q11:ArrayOfFloat"/> <part name="bearing" xmlns:q12="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q12:ArrayOfFloat"/> <part name="gps_timestamp" xmlns:q13="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q13:ArrayOfString"/> <part name="client_timestamp"

Page 44: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 44

xmlns:q14="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q14:ArrayOfString"/> <part name="gps_raw" xmlns:q15="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q15:ArrayOfString"/> <part name="user_id" type="s:string"/> <part name="confidence" xmlns:q16="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/AbstractTypes" type="q16:ArrayOfFloat"/> </message> <message name="uploadUserLocationDataHttpPostOut"> <part element="s0:string" name="Body"/> </message> <message name="uploadUserPictureHttpPostIn"> <part name="picture" type="s:base64Binary"/> <part name="focal_length" type="s:int"/> <part name="timestamp" type="s:string"/> <part name="user_id" type="s:string"/> </message> <message name="uploadUserPictureHttpPostOut"> <part element="s0:string" name="Body"/> </message> <message name="getUserPictureHttpPostIn"> <part name="user_name" type="s:string"/> <part name="timestamp" type="s:string"/> <part name="time_tolerance" type="s:float"/> </message> <message name="getUserPictureHttpPostOut"> <part element="s0:ImagePositionResponse" name="Body"/> </message> <message name="hasUserPictureHttpPostIn"> <part name="user_name" type="s:string"/> <part name="timestamp" type="s:string"/> <part name="time_tolerance" type="s:float"/> </message> <message name="hasUserPictureHttpPostOut"> <part element="s0:boolean" name="Body"/> </message> <message name="getUserPositionHttpPostIn"> <part name="user_name" type="s:string"/> <part name="timestamp" type="s:string"/> <part name="time_tolerance" type="s:float"/> </message> <message name="getUserPositionHttpPostOut"> <part element="s0:UserPositionResponse" name="Body"/> </message> <message name="hasUserPositionHttpPostIn"> <part name="user_name" type="s:string"/> <part name="timestamp" type="s:string"/> <part name="time_tolerance" type="s:float"/> </message> <message name="hasUserPositionHttpPostOut"> <part element="s0:boolean" name="Body"/> </message> <portType name="DataControlSoap"> <operation name="uploadUserLocationData"> <input message="s0:uploadUserLocationDataSoapIn"/> <output message="s0:uploadUserLocationDataSoapOut"/> </operation> <operation name="uploadUserPicture"> <input message="s0:uploadUserPictureSoapIn"/> <output message="s0:uploadUserPictureSoapOut"/> </operation> <operation name="getUserPicture"> <input message="s0:getUserPictureSoapIn"/> <output message="s0:getUserPictureSoapOut"/> </operation> <operation name="hasUserPicture"> <input message="s0:hasUserPictureSoapIn"/> <output message="s0:hasUserPictureSoapOut"/> </operation> <operation name="getUserPosition"> <input message="s0:getUserPositionSoapIn"/> <output message="s0:getUserPositionSoapOut"/> </operation> <operation name="hasUserPosition"> <input message="s0:hasUserPositionSoapIn"/> <output message="s0:hasUserPositionSoapOut"/>

Page 45: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 45

</operation> </portType> <portType name="DataControlHttpGet"> <operation name="uploadUserLocationData"> <input message="s0:uploadUserLocationDataHttpGetIn"/> <output message="s0:uploadUserLocationDataHttpGetOut"/> </operation> <operation name="uploadUserPicture"> <input message="s0:uploadUserPictureHttpGetIn"/> <output message="s0:uploadUserPictureHttpGetOut"/> </operation> <operation name="getUserPicture"> <input message="s0:getUserPictureHttpGetIn"/> <output message="s0:getUserPictureHttpGetOut"/> </operation> <operation name="hasUserPicture"> <input message="s0:hasUserPictureHttpGetIn"/> <output message="s0:hasUserPictureHttpGetOut"/> </operation> <operation name="getUserPosition"> <input message="s0:getUserPositionHttpGetIn"/> <output message="s0:getUserPositionHttpGetOut"/> </operation> <operation name="hasUserPosition"> <input message="s0:hasUserPositionHttpGetIn"/> <output message="s0:hasUserPositionHttpGetOut"/> </operation> </portType> <portType name="DataControlHttpPost"> <operation name="uploadUserLocationData"> <input message="s0:uploadUserLocationDataHttpPostIn"/> <output message="s0:uploadUserLocationDataHttpPostOut"/> </operation> <operation name="uploadUserPicture"> <input message="s0:uploadUserPictureHttpPostIn"/> <output message="s0:uploadUserPictureHttpPostOut"/> </operation> <operation name="getUserPicture"> <input message="s0:getUserPictureHttpPostIn"/> <output message="s0:getUserPictureHttpPostOut"/> </operation> <operation name="hasUserPicture"> <input message="s0:hasUserPictureHttpPostIn"/> <output message="s0:hasUserPictureHttpPostOut"/> </operation> <operation name="getUserPosition"> <input message="s0:getUserPositionHttpPostIn"/> <output message="s0:getUserPositionHttpPostOut"/> </operation> <operation name="hasUserPosition"> <input message="s0:hasUserPositionHttpPostIn"/> <output message="s0:hasUserPositionHttpPostOut"/> </operation> </portType> <binding name="DataControlSoap" type="s0:DataControlSoap"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="uploadUserLocationData"> <soap:operatio soapAction="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/uploadUserLocationData" style="document"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="uploadUserPicture"> <soap:operation soapAction="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/uploadUserPicture" style="document"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="getUserPicture">

Page 46: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 46

<soap:operation soapAction="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/getUserPicture" style="document"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="hasUserPicture"> <soap:operation soapAction="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/hasUserPicture" style="document"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="getUserPosition"> <soap:operation soapAction="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/getUserPosition" style="document"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> <operation name="hasUserPosition"> <soap:operation soapAction="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/hasUserPosition" style="document"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <binding name="DataControlHttpGet" type="s0:DataControlHttpGet"> <http:binding verb="GET"/> <operation name="uploadUserLocationData"> <http:operation location="/uploadUserLocationData"/> <input> <http:urlEncoded/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> <operation name="uploadUserPicture"> <http:operation location="/uploadUserPicture"/> <input> <http:urlEncoded/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> <operation name="getUserPicture"> <http:operation location="/getUserPicture"/> <input> <http:urlEncoded/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> <operation name="hasUserPicture"> <http:operation location="/hasUserPicture"/> <input> <http:urlEncoded/> </input>

Page 47: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 47

<output> <mime:mimeXml part="Body"/> </output> </operation> <operation name="getUserPosition"> <http:operation location="/getUserPosition"/> <input> <http:urlEncoded/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> <operation name="hasUserPosition"> <http:operation location="/hasUserPosition"/> <input> <http:urlEncoded/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> </binding> <binding name="DataControlHttpPost" type="s0:DataControlHttpPost"> <http:binding verb="POST"/> <operation name="uploadUserLocationData"> <http:operation location="/uploadUserLocationData"/> <input> <mime:content type="application/x-www-form-urlencoded"/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> <operation name="uploadUserPicture"> <http:operation location="/uploadUserPicture"/> <input> <mime:content type="application/x-www-form-urlencoded"/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> <operation name="getUserPicture"> <http:operation location="/getUserPicture"/> <input> <mime:content type="application/x-www-form-urlencoded"/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> <operation name="hasUserPicture"> <http:operation location="/hasUserPicture"/> <input> <mime:content type="application/x-www-form-urlencoded"/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> <operation name="getUserPosition"> <http:operation location="/getUserPosition"/> <input> <mime:content type="application/x-www-form-urlencoded"/> </input> <output> <mime:mimeXml part="Body"/> </output> </operation> <operation name="hasUserPosition"> <http:operation location="/hasUserPosition"/> <input> <mime:content type="application/x-www-form-urlencoded"/> </input> <output> <mime:mimeXml part="Body"/> </output>

Page 48: Geo-information database for sample urban scenarios and - mobvis

MOBVIS Deliverable D5.1.2 48

</operation> </binding> <service name="DataControl"> <port binding="s0:DataControlSoap" name="DataControlSoap"> <soap:addresslocation="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/DataControl.asmx"/> </port> <port binding="s0:DataControlHttpGet" name="DataControlHttpGet"> <http:address ocation="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/DataControl.asmx"/> </port> <port binding="s0:DataControlHttpPost" name="DataControlHttpPost"> <http:address location="http://dibs009.joanneum.at/webservices/Mobvis/DataControl/DataControl.asmx"/> </port> </service> </definitions>