Outline • Client/Server architecture • Web Mapping Architectures • Server-Side Technologies • Client-Side Technologies • Open systems • Interoperability • OGC Service Specifications: Geo-web services
04/05/2022 for student By: Oytisa O. 1
Client/Server architecture Basic concept • It is a network architecture in which each computer or process on the network is either a client or a server • Clients are requesting information (e.g. a specific web page) • Servers are responding to individual requests
04/05/2022 for student By: Oytisa O. 2
Request by URL
04/05/2022 for student By: Oytisa O. 3
Cont’d Returning a map of current precipitation
04/05/2022 for student By: Oytisa O. 4
Cont’d
04/05/2022 for student By: Oytisa O. 5
Web mapping architecture Web mapping architecture • It can take several different physical machines to create, serve, and use a web map • The potential number of technologies to implement web mapping projects is almost infinite. • Any programming environment, programming language, and server-side framework can be used to implement web mapping projects. • In any case, both server- and client-side technologies have to be used. 04/05/2022 for student By: Oytisa O. 6 Figure: System architecture for web mapping
04/05/2022 for student By: Oytisa O. 7
Cont’d • Geospatial server (map server) has specialized software and processing power for • Drawing maps, • Responding to feature queries, and • Performing GIS analysis operations. • E.g. GeoServer • A web server that acts as a web entry point into your organization's network.
04/05/2022 for student By: Oytisa O. 8
• It's also a place where you can put web application code (such as HTML and JavaScript files) for your web maps. Server side technologies Web Server • The web server is responsible for handling HTTP requests by web browsers and other user agents. • In the simplest case they serve static files, such as HTML pages or static image files.
04/05/2022 for student By: Oytisa O. 9
• The functionality of a web server can usually be enhanced using modules or extensions. • The most popular web server is Apache, followed by Microsoft Internet Information Server, nginx, Google web server, and lighthttpd. Web Mapping Server • WMS Server can generate maps on request, using parameters, such as • map layer order, • styling/symbolization, • map extent, 04/05/2022 for student By: Oytisa O. 10 • data format, • projection, etc. • The OGC defined the WMS standard, including the map requests and allowed return data formats. • Typical image formats for the map result are PNG, JPEG, GIFor SVG. Web Mapping Server...Cont’d • WMS servers available under an open-source license include • UMN MapServer, • Geoserver, and • QGIS Server (Currently works on linux) 04/05/2022 for student By: Oytisa O. 11 • Commercial alternatives exist from most commercial GIS vendors, such as • Esri ArcGIS Server, • Intergraph Geomedia WebMap, and • Mapinfo MapExtreme. Spatial database/File server • Spatial databases are usually relational or objectrelational databases enhanced with geographic data types, methods, and operators. • They are necessary whenever a web mapping application has to deal with frequently changing 04/05/2022 for student By: Oytisa O. 12 dynamic data or with larger amounts of geographic data. • Spatial databases allow spatial queries, filtering, coordinate transformations, and geometry manipulations and offer various import and export formats.
04/05/2022 for student By: Oytisa O. 13
Spatial database/File erver…Cont’d • Currently, the most advanced open-source spatial database is PostGIS. • MySQL also implements some spatial features, although not as mature as PostGIS. • An interesting alternative for file-based usage without the need for a server installation is SpatiaLite, a spatial extension to SQLite. • Commercial alternatives are Oracle Spatial or spatial extensions of Microsoft SQL Server, IBM DB2 or Informix. 04/05/2022 for student By: Oytisa O. 14 Server side scripting • Server-side scripts are completely processed by the servers instead of clients. • Scripts can be written in any of a number of serverside scripting languages that are available • ASP (*.asp) • Java (*.jsp) via JavaServer Pages • PHP (*.php, *.php3, *.php4, *.phtml) • Python (*.py) • Ruby (*.rb, *.rbw), etc. 04/05/2022 for student By: Oytisa O. 15 Client-side technologies • In the simplest setup, only a web browser is required. • All modern web browsers support the display of HTML and raster images • For most web mapping applications it is necessary to implement client-side interaction. • Various events are necessary to implement interactive client-side maps. • Events include mouse, touch, and keyboardevents
04/05/2022 for student By: Oytisa O. 16
Client Side Scripting • = Client-side functionality • Executed by the browser, after the file is received • Client-side scripts are often embedded within an HTML document • They may also be contained in a separate file • JavaScript is the most popular scripting language on the web and supported by almost all browsers
04/05/2022 for student By: Oytisa O 17
Interoperability Distributed servers
04/05/2022 for student By: Oytisa O 18
Distributed clients
04/05/2022 for student By: Oytisa O 19
Cont’d • Determines how products communicate with other products. • It refers to the ability of a program to share data or functions with another program. • These often adhere to open standards—protocols for communication between applications. • The basic idea is to define standards that aren’t dependent on one particular software package 04/05/2022 for student By: Oytisa O 20 Cont’d • Two information systems are interoperable, if they are able to …
04/05/2022 for student By: Oytisa O 21
Cont’d • An example of these standards in action is the ability of your program to request maps from another mapping program over the Internet. • The real power of open standards is evident when your program can communicate with a program developed by a different group/vendor. • This is a crucial issue for many large organizations, especially government agencies, where sharing data across departments can make or break the efficiency in that organization. 04/05/2022 for student By: Oytisa O 22 Cont’d • To communicate between systems we need to standardise the messages between them
04/05/2022 for student By: Oytisa O 23
Important Applications of web mapping Outline • Address Matching, Routing • Real-Time Maps • Location-Based Services • Collaborative web map • Volunteered Geographic Information
04/05/2022 for student By: Oytisa O 24
Address Matching, Routing • A classic use case of web maps is the display of the results of address searches and route-finding operations. • Typically, the searches and route-finding algorithms are executed on the web server • The resulting map is sent back to the client, with the search result highlighted.
04/05/2022 for student By: Oytisa O 25
• Interactivity can be used for the display of additional information (such as points of interest, accompanying text at junctions, etc.).
04/05/2022 for student By: Oytisa O 26
Google maps routing service
04/05/2022 for student By: Oytisa O 27
mapquest address matching
04/05/2022 for student By: Oytisa O 28
Real-Time Maps • Real-time web maps fully exploit the strengths of web maps. • Sensors send their data to a central server repository which is used to generate real-time (or near-real-time) maps on demand. • Examples are weather maps, traffic maps, maps for fleet management, etc.
04/05/2022 for student By: Oytisa O 29
• Once a map is loaded it can update the dynamic information on demand, without having to reload the application or base map.
04/05/2022 for student By: Oytisa O 30
Vehicle tracking web map
04/05/2022 for student By: Oytisa O 31
GPS vehicle tracking web application
04/05/2022 for student By: Oytisa O 32
Location-Based Services (LBS) • LBS need maps to display points of interest within the current geographic context of the user. • Positioning technologies based on mobile antennas, wireless signals or GPS satellites provide the current positioning information with various accuracy level. • Mobile web maps need to be specially designed, taking into account the small screen space and low resolution of mobile displays.
04/05/2022 for student By: Oytisa O 33
• Most of the time, maps for location-based services are generated automatically from spatial databases.
Cont’d • LBSs are services offered through a mobile phone and take into account the device's geographical location • An LBS, for example, can point a user to the nearest restaurant
04/05/2022 for student By: Oytisa O 34
Collaborative web maps • They are still new and relatively complex to implement, but show a lot of potential.
04/05/2022 for student By: Oytisa O 35
• The idea is that, like in the Wikipedia project, various, distributed people collaborate to create and improve maps on the web. • Technically, an application allowing simultaneous editing across the web would have to ensure that geometric features being edited by one person are locked, so that they cannot be edited by other persons at the same time.
04/05/2022 for student By: Oytisa O 36
Cont’d • Also, a minimal quality check should be made, before data goes public. • Some projects working on collaborative maps are OpenStreetMap, OpenAdresses, Google Maps and WikiMapia.
Volunteered Geographic Information
• It is a type of collaborative web maps
04/05/2022 for student By: Oytisa O 37
• VGI is the harnessing of tools to create, assemble, and disseminate geographic data provided voluntarily by individuals (Goodchild, 2007) • Some examples of VGI are WikiMapia, OpenStreetMap, and Google Map Maker. • OpenStreetMap is a collaborative project that collects geographic data from hundreds of thousands of contributors worldwide.
04/05/2022 for student By: Oytisa O 38
04/05/2022 for student By: Oytisa O 39 OSM iD (in-Browser editor)