8.1 GIS Hardware and Software 8.2 Hybrid vs. Integrated Systems 8.3 Clients and Servers
8.4 Web-based Spatial
Databases 8.5 Summary
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8 Architecture of Geographic Information Systems
[SX08]
624
• A geographic information system is a system
designed to collect, manage, analyze, display spatial data
• Specialized information system that consists of
– Spatial database,
– Spatial database system, – Application Software
• Often end users only see specially programmed
user interface
8 Architecture of GIS
http://www.physicalgeography.net/
• Environmental information system
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.1 GIS Hardware and Software
[SX08]
626
• Tourist information system
8.1 GIS Hardware and Software
[SX08]
• Network information system
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.1 GIS Hardware and Software
http://www.uni-potsdam.de/Geographie/
628
• GIS hardware mainly differs from "normal"
information systems in the input devices, e.g.
– Digitizer
• Electromagnetic surface
• Digitization of maps
– Drum scanner
• Provides accurate results
• Scanning device always in the same position to
the original
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.1 GIS Hardware and Software
629
http://www.uni-potsdam.de/Geographie/
http://www.litho-erfurt.de
• Classification of GIS software
– Expert GIS
standard GIS, spatial data server, geodatabase
– Desktop-GIS
data management for collection and information
– Mobile GIS
information, collection, updating
– Web-GIS
information, usually no collecting and updating
– Component GIS
embedding GIS functionality into third party systems
– GIS-Viewer
software for displaying and querying GIS data formats
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.1 GIS Hardware and Software
http://www.esri.com/
630
• Architecture of GIS can be roughly classified
– File based – Hybrid
– Layer-oriented – Integrated
8.2 Hybrid vs. Integrated Systems
• File based architecture
– First generation of GIS (since approx. 1960) – All information stored in files
– No logical data independence – No physical data independence – No standardization
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Hybrid vs. Integrated Systems
632
• Hybrid architecture
– Relational databases are used for thematic attributes
– Spatial data is stored
in specific data structures on files
– Consistency of the data is difficult to
ensure
– Queries which
combine thematic and
spatial attributes are
not possible
8.2 Hybrid vs. Integrated Systems
• For example, a query which is not possible with hybrid architecture (see chapter 4.4)
• Attention: sometimes the term "hybrid GIS"
also is used for such systems, able to integrate vector and raster data
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Hybrid vs. Integrated Systems
SELECT b1.id
FROM Building b1, Building b2 WHERE b1.typeOfUse = ’church’
AND
b2.typeOfUse = ’car park’
AND
Distance(Centroid(b1.groundPlan),
Centroid(b2.groundPlan)) < 2000;
634
– Example (vector geometry plus digital ortho-
photo)
8.2 Hybrid vs. Integrated Systems
[Bi16]
• Layer-oriented architecture
– Thematic attributes and spatial data are stored in one single (relational) database
– Spatial data are modeled as relations – Introduction of a layer with
geometric functions
– Inefficient access to individual spatial objects (have to be collected by
means of joins)
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Hybrid vs. Integrated Systems
636
• Example of relational modeling of polygons as a list of points (see chapter 4.3)
– Id attribute, list position and integer attributes x, y – For each polygon the values of
position have to start with value 1 and have to be dense
(implementation of a list)
8.2 Hybrid vs. Integrated Systems
CREATE TABLE Polygons (
id CHAR(20), position INTEGER, x INTEGER, y INTEGER,
PRIMARY KEY (id,position));
• Integrated architecture
– Thematic attributes and spatial data are stored in one single (geographic) database
– Database functions and GIS functionality in one system
– Database functions support the processing of spatial data
– Spatial index structures – Logical data independence – Standardization possible
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Hybrid vs. Integrated Systems
638
• Example of a query which is possible with integrated architecture;
typically, this query is evaluated by using an
R-tree index (see chapter 4.5 and chapter 5)
8.2 Hybrid vs. Integrated Systems
SELECT p.id
FROM Parcel p, Brook b
WHERE intersects (p.groundPlan, b.geometry);
• Relational join algorithms aren’t applicable for spatial joins (except Nested Loop)
– Sort-Merge-Join
– No order on spatial (multi-dimensional) data
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Spatial Join
matNr result
1005 4.0
1005 1.3
2832 5.0
5119 1.7
8676 1.3
9876 3.7
matNr firstName 1005 Clark
2832 Lois
4512 Lex
5119 Charles
6676 Erik
8024 Jean
640
– Hashjoin
– A hash function, which assigns the same value to extended, overlapping objects is not known
8.2 Spatial Join
0 1 2 3 4 5 6 7
0 1 2 3 4 5 6 7 matNr firstName
1005 Clark
2832 Lois
4512 Lex
5119 Charles
6676 Erik
8024 Jean
matNr result
9876 3.7
2832 5.0
1005 4.0
1005 1.3
6676 1.3
5119 1.7
• Spatial join using R-trees
– Suppose the height of both R-trees is the same
– Only MBRs on the same level have to be checked for intersections and only if their parent’s MBRs intersect – A priority queue is used to store the node pairs which
have to be checked
– Filter step of the spatial query evaluation
→ results have to be
validated using the original geometry of the objects
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Spatial Join
642
8.2 Spatial Join
procedure INDEX_TRAVERSAL_SPATIAL_JOIN(rootA, rootB) begin
priorityQueue ← CREATE_PRIORITY_QUEUE();
priorityQueue.ADD_PAIR(rootA, rootB);
while NOT priorityQueue.EMPTY() do nodePair ← priorityQueue.POP();
rectanglePairs ← FIND_INTERSECTING_PAIRS(nodePair);
foreach p Є rectanglePairs do if p is a pair of leaves then
REPORT_INTERSECTIONS(p);
else
priorityQueue.ADD_PAIR(p);
endif;
enddo;
enddo;
end; http://doi.acm.org/10.1145/1206049.1206056
• ADD-PAIR
– Defines the order in which the priority queue is processed
• Breadth first search
• Breadth first search with additional ordering of the nodes on one level i.e. x-coordinate or z-address of the MBR’s center
• Depth first search
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Spatial Join
1 2
7
3 4
6
5 8 9 10
1 2
6
5 8
4
3 7 9 10
644
• Example
8.2 Spatial Join
1
2 3
4 5
7
6
8 9 a
b c
f
g h
d e
i
k j
l
• R-tree of the rivers
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Spatial Join
a
b c
f
g h
d e
i
k j
l
646
• R-tree of the rivers
8.2 Spatial Join
I II
A B C D E
a c
b d e
h i
j k l f g
a
b c
f
g h
d e
i
k j
l A
B
C
D E
I
II
• R-tree of the woods
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Spatial Join
1
2 3
4 5
7
6
8 9
648
• R-tree of the woods
8.2 Spatial Join
1
2 3
4 5
7
6
8 9 F
G
H
I
III
IV
III IV
F G H I
1 2
3 4
5 6 7 8 9
• 1. iteration
– nodePair: (rootA, rootB)
– priorityQueue: ((II,III) (I,IV) (I,III))
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Spatial Join
III
IV I
II
650
((E,H) (D,H) (I,IV) (I,II))
• 2. iteration
– nodePair: (II, III) – priorityQueue:
8.2 Spatial Join
D
E F
G
H
((i,7) (h,7) (D,H) (I,IV) (I,II))
• 3. iteration
– nodePair: (E,H) – priorityQueue:
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Spatial Join
h i 5
7
6
652
8.2 Spatial Join
I II
C A B D E
a c b d e h i
j k l f g
III IV
H G F I
1 2 3 4
5 6 7 8 9
• FIND_INTERSECTING_PAIRS
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Spatial Join
procedure PLANE_SWEEP(listA, listB) begin
statusA ← CREATE_STATUS() statusB ← CREATE_STATUS()
while NOT listA.END() OR NOT listB.END() do if listA.FIRST() < listB.FIRST() then
statusA.INSERT(listA.FIRST())
statusB.REMOVE_INACTIVE(listA.FIRST()) statusB.SEARCH(listA.FIRST())
listA.NEXT() else
statusB.INSERT(listB.FIRST())
statusA.REMOVE_INACTIVE(listB.FIRST()) statusA.SEARCH(listB.FIRST())
listB.NEXT() endif
enddo end
f g
5
7
6
statusA:
statusB:
f Result:
654
• FIND_INTERSECTING_PAIRS
8.2 Spatial Join
procedure PLANE_SWEEP(listA, listB) begin
statusA ← CREATE_STATUS() statusB ← CREATE_STATUS()
while NOT listA.END() OR NOT listB.END() do if listA.FIRST() < listB.FIRST() then
statusA.INSERT(listA.FIRST())
statusB.REMOVE_INACTIVE(listA.FIRST()) statusB.SEARCH(listA.FIRST())
listA.NEXT() else
statusB.INSERT(listB.FIRST())
statusA.REMOVE_INACTIVE(listB.FIRST()) statusA.SEARCH(listB.FIRST())
listB.NEXT() endif
enddo end
f g
5
7
6
statusA:
statusB:
f, g Result:
• FIND_INTERSECTING_PAIRS
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Spatial Join
procedure PLANE_SWEEP(listA, listB) begin
statusA ← CREATE_STATUS() statusB ← CREATE_STATUS()
while NOT listA.END() OR NOT listB.END() do if listA.FIRST() < listB.FIRST() then
statusA.INSERT(listA.FIRST())
statusB.REMOVE_INACTIVE(listA.FIRST()) statusB.SEARCH(listA.FIRST())
listA.NEXT() else
statusB.INSERT(listB.FIRST())
statusA.REMOVE_INACTIVE(listB.FIRST()) statusA.SEARCH(listB.FIRST())
listB.NEXT() endif
enddo end
f g
5
7
6
statusA:
statusB:
5
g Result:
654
• FIND_INTERSECTING_PAIRS
8.2 Spatial Join
procedure PLANE_SWEEP(listA, listB) begin
statusA ← CREATE_STATUS() statusB ← CREATE_STATUS()
while NOT listA.END() OR NOT listB.END() do if listA.FIRST() < listB.FIRST() then
statusA.INSERT(listA.FIRST())
statusB.REMOVE_INACTIVE(listA.FIRST()) statusB.SEARCH(listA.FIRST())
listA.NEXT() else
statusB.INSERT(listB.FIRST())
statusA.REMOVE_INACTIVE(listB.FIRST()) statusA.SEARCH(listB.FIRST())
listB.NEXT() endif
enddo end
f g
5
7
6
statusA:
statusB:
5
g
Result: (g,5)
• FIND_INTERSECTING_PAIRS
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Spatial Join
procedure PLANE_SWEEP(listA, listB) begin
statusA ← CREATE_STATUS() statusB ← CREATE_STATUS()
while NOT listA.END() OR NOT listB.END() do if listA.FIRST() < listB.FIRST() then
statusA.INSERT(listA.FIRST())
statusB.REMOVE_INACTIVE(listA.FIRST()) statusB.SEARCH(listA.FIRST())
listA.NEXT() else
statusB.INSERT(listB.FIRST())
statusA.REMOVE_INACTIVE(listB.FIRST()) statusA.SEARCH(listB.FIRST())
listB.NEXT() endif
enddo end
f g
5
7
6
statusA:
statusB:
g 5,7
Result: (g,5)
654
• FIND_INTERSECTING_PAIRS
8.2 Spatial Join
procedure PLANE_SWEEP(listA, listB) begin
statusA ← CREATE_STATUS() statusB ← CREATE_STATUS()
while NOT listA.END() OR NOT listB.END() do if listA.FIRST() < listB.FIRST() then
statusA.INSERT(listA.FIRST())
statusB.REMOVE_INACTIVE(listA.FIRST()) statusB.SEARCH(listA.FIRST())
listA.NEXT() else
statusB.INSERT(listB.FIRST())
statusA.REMOVE_INACTIVE(listB.FIRST()) statusA.SEARCH(listB.FIRST())
listB.NEXT() endif
enddo end
f g
5
7
6
statusA:
statusB:
g 5,7
Result: (g,5) (g,7)
• FIND_INTERSECTING_PAIRS
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.2 Spatial Join
procedure PLANE_SWEEP(listA, listB) begin
statusA ← CREATE_STATUS() statusB ← CREATE_STATUS()
while NOT listA.END() OR NOT listB.END() do if listA.FIRST() < listB.FIRST() then
statusA.INSERT(listA.FIRST())
statusB.REMOVE_INACTIVE(listA.FIRST()) statusB.SEARCH(listA.FIRST())
listA.NEXT() else
statusB.INSERT(listB.FIRST())
statusA.REMOVE_INACTIVE(listB.FIRST()) statusA.SEARCH(listB.FIRST())
listB.NEXT() endif
enddo end
f g
5
7
6
statusA:
statusB:
5,7,6
Result: (g,5) (g,7)
654
• Cooperating components
– Client initiates the communication
– Client sends requests to the server
– Server provides a fixed set of services – Roles and functions are asymmetric
– Sequence of interaction steps is determined – Client may access multiple servers
– Server may serve multiple clients
– Server may also be client when processing a request
8.3 Clients and Servers
Client Server
1. Request 2. Work 3. Result
• Various kinds of realising client/server systems
• Typical functions of a GIS server
– Selection of thematic and spatial information from geographic data base
– Preview of selected spatial data
– Conversion of selected spatial data into the appropriate target
format
– Cartographic representation of selected spatial data
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.3 Servers
http://www.dottedeyes.com/
656
• Selection of some common GIS servers
– ESRI
• Market leader, founded in 1969 as "Environmental Systems Research Institute"
• Chargeable, not open source, Windows and Linux
• Covers the whole range of GIS functionalities
• Products
– ArcGIS - desktop GIS, includes ArcView, ArcEditor, ArcInfo – ArcView - basic GIS functionality
– ArcEditor - interactive changes – ArcInfo - full analytical capabilities – ArcIMS - internet mapserver
– ArcSDE - spatial database engine
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.3 Servers
657
– GRASS
• "Geographic Resources Analysis Support System"
• Free of charge, open source, Linux, Mac OS, Windows
• Offers a variety of GIS functions
– Spatial analysis
– Integrated simulation models – Geostatistics
– Several projections with transformations – Map production
– Database connection (PostgreSQL, MySql, Oracle) – Grass consists of more than 400 programs and tools – Somewhat uncomfortable to use
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.3 Servers
658
– Smallworld
• Product of General Electric (now)
• Market leader in the area of network information systems
• Chargeable, not open source, Windows and Linux
• Professional system for companies and authorities
• Focus on user interface, easy in training, scalability
• Various specialized application modules available from third party developers
– Pipeline
– ALKIS, zoning map, land development plan
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.3 Servers
659 http://www.kommunaldirekt.de/
– Oracle Spatial
• Spatial extension of the Oracle database system (see chapter 4.4, 7.3)
• Chargeable, not open source, Windows, MacOS, Linux
• Set of functions for handling spatial data
• Specific geometric data type SDO_GEOMETRY
• MapViewer (additional component for rendering spatial data)
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.3 Servers
660
– PostgreSQL
• Relational database system with spatial data types and corresponding SQL extensions (see chapter 4.4, 7.2)
• Free, open source, Linux, MacOS, Windows
• Following data types are offered
– point (float, float) – box (point, point) – lseg (point, point)
– path (point1, point2, ..., pointn) – polygon (point1, point2, ..., pointn) – circle (point, float)
• Numerous geometric predicates and functions
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.3 Servers
661
– PostGIS
• Extension of PostgreSQL (PostgreSQL is designed to be extensible)
• Additional data types:
MultiPoint, MultiLinestring, MultiPolygon, GeometryCollection
• Syntactic embedding of the new data types is different because they are realized as user-defined types:
first a table is defined
CREATE TABLE ...
then a column with a new data type is added SELECT AddGeometryColumn (...)
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.3 Servers
662
• PostgreSQL provides several geometric data types and related functions
• Some types and functions are missing, e.g.
intersection: Polygon × Polygon
GeometryCollection 8.3 PostgreSQL PostGIS
• Create a new PostgreSQL type
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig 664
8.3 PostgreSQL PostGIS
http://www.postgresql.org/
• Create a new PostgreSQL function 8.3 PostgreSQL PostGIS
http://www.postgresql.org/
• PostGIS extends PostgreSQL by implementing missing types and functions
• Is certified as a compliant "Simple Features for SQL" database by the OGC
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig 666
8.3 PostgreSQL PostGIS
SELECT ST_AsText(ST_Intersection(
ST_GeomFromText(
'MULTIPOLYGON(((-77 56,-52 18,-88 -27,
-10 -13,-11 38,-77 56)))'), ST_GeomFromText(
'MULTIPOLYGON(((-49 63,-32 24,-39 -7,-66 -19, -72 -9,-74 31,-49 63)))')));
• For indexing new (unknown) types PostgreSQL provides GiST (Generalized Search Tree)
– Template in which to implement balanced trees of (p, ptr) pairs
• p is a key predicate
• p holds for all objects below ptr
– Takes care of concurrency, logging and searching the tree structure
– Requires only to implement the semantics of the new data type
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig 667
8.3 PostgreSQL PostGIS
• By means of GiST PostGIS provides an R-tree implementation
• Confusingly, this implementation is called GIST
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig 668
8.3 PostgreSQL PostGIS
CREATE TABLE Building
(id CHAR(25), typeOfUse CHAR(25));
SELECT AddGeometryColumn( ‘Building', ‘groundPlan', 423, ‘Polygon', 2);
CREATE INDEX groundPlanIndex ON Building USING GIST (groundPlan);
• Typical functions of a GIS client
– Data acquisition, digitization – Transformations
– Functions for image processing – Basic CAD functions
– Constructing of spatial objects
– Data reduction, smoothing, generalization – User interface
– Presentation of data – Data output
8.3 Clients
http://www.ikg.uni-hannover.de/
http://www.dgfk.net/
• Selection of some common GIS clients
– OGC WMS Viewer
• Company: Intergraph
• Thin client, web application
• Can connect to web servers which provide the OGC Web Map Services
• Loads maps and displays them
• Can combine different maps
• Contains configurable GUI
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.3 Clients
http://www.demis.nl/
670
– con terra mapClient
• Configurable web application
• Display, navigation,
selection, management
of
– OGC WMS and WFS services
– ArcIMS and ArcGIS services
• Measurement of distances and areas
• Drawing of points, lines, and surfaces
• Can be upgraded with further components to a GIS server
8.3 Clients
http://www.conterra.de/de/
– ESRI ArcExplorer Web
• Browser-based mapping application
• Can access ArcIMS services and OGC WMS Web Map Service
• Combination of different maps or layers
• Search for locations worldwide
• Address search (U.S.)
• Works without any plug-in or applet
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.3 Clients
http://www.esri-germany.de/
672
• Collection of spatial data is particularly expensive
• Spatial data is durable
• Geoservices are increasingly offered by the internet
• Typical keyword: "Internet GIS"
– Internet GIS applications reach many users
– Requirement for internet clients are low
– Standards enable simple exchanges
8.4 Web-based Spatial Databases
• Application areas of internet-GIS
– Simple information systems
• Standard internet environment with usual plug-ins
• Presentation of interactive maps
• E.g. in the local area for publication of information to citizens and
visitors
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.4 Web-based Spatial Databases
http://www.braunschweig.de/
674
– Specialized georeferenced information systems
• Additional services to the public or for a restricted group of people
• Dynamical systems needed, since data is processed during request
• E.g. address search, route planner
8.4 Web-based Spatial Databases
http://maps.google.de/
– Web-based GIS clients with access to key resources
• Offer advanced functionalities
• Analysis and intersection of spatial data
• Export and update of attributes
• Used mostly in spatial data infrastructures, because user training is required
– Portals for spatial data
• For providing and selling of large quantities of data
• Usually data is supplied by different spatial data servers
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.4 Web-based Spatial Databases
http://www.lgn.niedersachsen.de/
676
• OpenStreetMap (OSM) is a free editable map of the whole world
• Founder: Steve Coast
• Established: August 9, 2004
• Funding: Entirely by donations
• Licensing model: Creative Commons Attribution- ShareAlike 2.0
• Mission: To map the world and give the data away for free
8.4 Open Street Map
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.4 Open Street Map
www.openstreetmap.org 678
• Provide an Open Platform
– OSM Users may freely input and extract data
• Raw sources for OSM Basemap
– GPS track logs
– Existing Free Data Sources (e.g. TIGER/LINE)
– Historical Maps – Out of Copyright mapping
• Users Create Basemap from Raw Sources
– Via Online and Offline Editing Software
8.4 Open Street Map
• OSM's data is made up from the following elements:
– Nodes: The dots that are used to mark specific locations (such as a post box) or for drawing segments between.
– Ways: An ordered list of nodes, displayed as connected by line segments. They are used to describe roads, paths etc.
– Closed Ways: Closed ways are ways which go in a
complete loop. They are used to describe areas like parks, lakes or islands
– Relations: Basically groups of objects in which each object may take on a specific role
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.4 Open Street Map
680
• Tags
– Key=value pairs
– Can be assigned to OSM-elements i.e. nodes, ways and relations
– No content restrictions, but they have to be verifiable – Recommended set of features and corresponding tags
• in order to create, interpret and display a common basemap
• Not every recommended feature will be rendered
• Some rendered Features are not listed
– Possibility to propose new features/icons
8.4 Open Street Map
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.4 Open Street Map
Key Value Element Comment Rendering Photo
highway motorway A restricted access major divided highway, normally with 2 or more running lanes plus emergency hard shoulder. Equivalent to the Freeway, Autobahn, etc..
highway trunk_link The link roads (sliproads/ramps)
leading to/from a trunk road from/to a trunk road or lower class highway.
highway pedestrian For roads used mainly/exclusively for pedestrians/shopping areas. Also for tagging squares and plazas (in which case, add area=yes.
highway steps For flights of steps (stairs) on
footways. Use with step_count=* to indicate the number of steps
http://wiki.openstreetmap.org/wiki/Map_Features 682
8.4 Open Street Map
Key Value Element Comment Rendering Photo
amenity university A University campus or buildings
amenity grit_bin A container that hold grit or a mixture from salt and grit.
landuse vineyard A piece of land where grapes are grown.
access yes/ designated/
official/ private/
permissive/ destina- tion/ delivery/
agricultural/
forestry/ unknown/
no
General access permission.
- permissive means there is no legally-enshrined right of access, but the landowner has allowed it at his/her discretion
- private …. http://wiki.openstreetmap.org/wiki/Map_Features
• GPS-Traces
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.4 Open Street Map
File name: GPSDATA_20100113.gpx (download)
Upload: Wednesday, 13. Januar 2010, 11:45 Uhr
Points: 3,162 Coordinate of
starting point:
-37.8654; 144.695 (Map /edit)
owner: Pegaxs Description: Bike ride
Tags: none
Visibility:
Identifiable (list of
ordered points with time stamp)
684
8.4 Open Street Map
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.4 Open Street Map
686
• Database Schema
– 16 administrative tables – 3 GPX tables
– 2 changesets tables – 17 geodata tables
• 8 master tables, containing all previous edit history
• 8 current tables, latest revision, used for drawing the map
• 1 table for storing mbrs of countries
8.4 Open Street Map
• OpenStreetMap stats report (10.01.2017)
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.4 Open Street Map
users GPS points nodes ways relations users editing gpx files/nodes day week month
3,365,253 5,520,496,047 3,681,828,347 386,503,515 4,700,520 168/3883 913/14549 2385/38690
http://wiki.openstreetmap.org/wiki/Stats 688
05.2006 09.2006
• Isle of Wight
8.4 Open Street Map
01.2010 01.2017
• Export
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.4 Open Street Map
…
…
690
• GIS hardware and software
• Hybrid vs. integrated systems
– File based architecture – Hybrid architecture
– Layer-oriented architecture – Integrated architecture
– Spatial join with R-tree index
8.5 Summary
• Servers
– ESRI – GRASS
– Smallworld – Oracle Spatial
– PostgreSQL, PostGIS
• Clients
– Intergraph OGC WMS Viewer – con terra mapClient
– ESRI ArcExplorer Web
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.5 Summary
692
• Web-based spatial databases
– Internet GIS
– Application areas of internet GIS – Open Street Map
8.5 Summary
Spatial Databases and GIS – Karl Neumann, Sarah Tauscher– Ifis – TU Braunschweig
8.5 Summary
GIS internet
GIS
software
hardware
client/
server system
architectures
694