spatial databases dt249,dt211,dt228 semester 2 2012-13 lecture 0 pat browne...

Post on 23-Dec-2015

224 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Spatial DatabasesSpatial DatabasesDT249,DT211,DT228 DT249,DT211,DT228 Semester 2 Semester 2

2012-132012-13

Lecture 0Lecture 0

Pat BrownePat Browne

http://www.comp.dit.ie/pbrowne/Spatial%20Databases%20SDEV4005/Spatial%20Databases%20SDEV4005.htm

Your Interest in Spatial Databases Your Interest in Spatial Databases Jobs in GISJobs in GIS

GovernmentGovernment Most major departments are developing GIS on an ongoing Most major departments are developing GIS on an ongoing

basis: e.g. the Geological Survey of Ireland (GSI), Environment basis: e.g. the Geological Survey of Ireland (GSI), Environment Protection Agency (EPA), Duchas, OPW.Protection Agency (EPA), Duchas, OPW.

Semi-statesSemi-states Many agencies have a big investment in GIS e.g. ESB.Many agencies have a big investment in GIS e.g. ESB.

Local AuthoritiesLocal Authorities County councils run many GIS applications.County councils run many GIS applications.

Private SectorPrivate Sector MAPFLOW, IMGS (Information with location).MAPFLOW, IMGS (Information with location).

Post graduate research: Post graduate research: DIT Digital Media Centre (DMC), DIT Digital Media Centre (DMC), The National Centre for The National Centre for

Geocomputation (Maynooth).Geocomputation (Maynooth).

Fingal CC Fix our streetFingal CC Fix our street

http://www.fixyourstreet.ie/

Your Interest in Spatial Databases Your Interest in Spatial Databases Technically Interesting Technically Interesting

Spatial databases provided the essential Spatial databases provided the essential logiclogic and and structurestructure for a host useful and interesting applications for a host useful and interesting applications (e.g. emergency services routing, hospital placement, (e.g. emergency services routing, hospital placement, game environments). game environments).

This spatial database course brings together many This spatial database course brings together many topics that you have already studied (e.g. databases, topics that you have already studied (e.g. databases, graphics, objection orientation, statistics) and applies graphics, objection orientation, statistics) and applies them in innovative ways.them in innovative ways.

Spatial databases can answer a range of questions from Spatial databases can answer a range of questions from ““where is the nearest chipper?where is the nearest chipper?” to “How does ” to “How does Sellafield Sellafield effect the Irish east coast?effect the Irish east coast?”.”.

Spatial database work with many other Spatial database work with many other technologies (e.g. Internet ,wireless networks, technologies (e.g. Internet ,wireless networks, and GPS.)and GPS.)

What is a Spatial Database?What is a Spatial Database?

A spatial database is a database system (DBMS) that is optimized to store and query basic spatial objects e.g.:

Point: a house, a moving car Line: a road segment, road network Polygon: a county, voting area

Which are usually augmented with spatial relations, thematic information, and temporal information, all expressed in a declarative way using a appropriate languages (e.g. SQL+spatial extensions).

Tables or layers of dataTables or layers of data11

Why Spatial Databases? Queries to databases are posed in high level declarative Queries to databases are posed in high level declarative

manner (usually using SQL)manner (usually using SQL)

SQL is popular in the commercial database world.SQL is popular in the commercial database world.

Standard SQL operates on relatively simple data types.Standard SQL operates on relatively simple data types.

SQL3/OGISSQL3/OGIS11 supports several spatial data types and supports several spatial data types and operations. We will study the Open Geospatial operations. We will study the Open Geospatial Consortium Simple Features for SQL.Consortium Simple Features for SQL.

Additional spatial data types and operations can be Additional spatial data types and operations can be defined in spatial database. (CREATE TYPE statement)defined in spatial database. (CREATE TYPE statement)

A DBMS is a way of storing information in a manner that A DBMS is a way of storing information in a manner that enforces consistency, enforces consistency, facilitates access, facilitates access, Allows users to relate data from multiple tables togetherAllows users to relate data from multiple tables together

Spatial Databases must integrate Spatial Databases must integrate with other applications and data.with other applications and data.

Map Renderer

Network

Wireless Mobile

Devices

HTML Viewer Java Viewer GIS Desktop

Applications

Custom Applications

Spatial DB

(Internet)

Server Side Applications

Spatial enabled DB SummarySpatial enabled DB Summary

Database – an integrated set of data on a Database – an integrated set of data on a particular subject. Can include spatial and non-particular subject. Can include spatial and non-spatial and temporal data.spatial and temporal data.

Databases offer many advantages over files.Databases offer many advantages over files. Relational databases dominate for non-spatial Relational databases dominate for non-spatial

use, Object-relational database (ORDBMS) are use, Object-relational database (ORDBMS) are used for spatial data.used for spatial data.

Databases address some limitations for Databases address some limitations for specialist or dedicated GIS.specialist or dedicated GIS.

Query 1Query 1

““Display all counties that Display all counties that borderborder Kildare”. Kildare”. This query can be implemented using the This query can be implemented using the

following SQL command:following SQL command:select c1.name as select c1.name as name,transform(c1.the_geom,4326) as the_geomname,transform(c1.the_geom,4326) as the_geom

from county c1,county c2from county c1,county c2

wherewhere

touches(c1.the_geom,c2.the_geom)touches(c1.the_geom,c2.the_geom)

andand

c2.name='Kildare';c2.name='Kildare';

Result 1Result 1

Query 2Query 2 “ “Display all regional roads that Display all regional roads that intersectintersect the N7 National Primary Road within the the N7 National Primary Road within the

region of Dublin Belgard” This query can be implemented using the following SQL region of Dublin Belgard” This query can be implemented using the following SQL command:command:

SELECT asbinary(r.the_geom), r.class AS nameFROM regional AS r,roads n,county AS cWHEREn.class='N7'AND c.name='Dublin Belgard'ANDintersects(n.the_geom,r.the_geom)ANDcontains(c.the_geom,intersection(r.the_geom,n.the_geom));

Result 2Result 2

Results in red

Querying moving objectsQuerying moving objects

Find where and when will it snow givenFind where and when will it snow given Clouds(X, Y, Time, humidity) Clouds(X, Y, Time, humidity) Region(X, Y, Time, temperature) Region(X, Y, Time, temperature)

(SELECT(SELECT x, y, time x, y, time FROM CloudsFROM Clouds

WHERE humidity >= 80)WHERE humidity >= 80) INTERSECTINTERSECT

(SELECT x, y, time(SELECT x, y, time FROM RegionFROM Region WHERE temperature <= 32)WHERE temperature <= 32)

Example QueryExample Query

““How many people live within 5 miles How many people live within 5 miles of the toxic gas leak?”of the toxic gas leak?”

SELECT sum(population) SELECT sum(population) FROM census_info FROM census_info WHERE WHERE distance(census_geom,’POINT(…)’) < 5 distance(census_geom,’POINT(…)’) < 5

Toxic leak in Well Known Text (WKT) format

Example QueryExample Query

““What is the combined area of all parks What is the combined area of all parks insideinside the Dublin postal district 1?” the Dublin postal district 1?”

SELECT sum(area(park_geom)) SELECT sum(area(park_geom)) FROM parks, postalDistrict FROM parks, postalDistrict WHERE WHERE contains(postalDistrict_geom,park_geom) contains(postalDistrict_geom,park_geom) ANDAND

postalDistrict_name = ‘Dublin 1’postalDistrict_name = ‘Dublin 1’

Based on lecture from Paul Ramsey Refractions Research

Visualization of Information

Population1

Example QueryExample Query

What is the maximum distance a student What is the maximum distance a student has to travel to school?”has to travel to school?”

SELECT SELECT max(distance( max(distance( student_location, school_location student_location, school_location )) )) FROM students, schoolsFROM students, schools

Based on lecture from Paul Ramsey Refractions Research

NetworkingNetworking

For enhanced network traversal and For enhanced network traversal and routing PostgreSQL/PostGIS can be routing PostgreSQL/PostGIS can be extended with pgRouting software which extended with pgRouting software which can perform:can perform: Shortest path search (with 3 different Shortest path search (with 3 different

algorithms)algorithms) Traveling Salesperson Problem solution Traveling Salesperson Problem solution

(TSP)(TSP) Driving distance geometry calculationDriving distance geometry calculation

http://pgrouting.postlbs.org/

Querying a non-spatial attributeQuerying a non-spatial attribute

Find the countries of western Europe with population greater than 50 million. This is a projection on the attribute population. Unlike a conventional database query we often want the query result and the original context, in this case Europe.

Formalizing Common SenseFormalizing Common Sense

It helps minimize the ambiguity in data if it It helps minimize the ambiguity in data if it is properly formalized with respect to the is properly formalized with respect to the real world. The following pair of signs are real world. The following pair of signs are displayed at the foot of an escalator. What displayed at the foot of an escalator. What do they mean? They have exactly the do they mean? They have exactly the grammatical structure.grammatical structure.

Shoes

Must Be

Worn

Dogs

Must Be

Carried

Course Overview

This course focuses on the use of database management systems (DBMS) to store spatial information. A spatially enabled DBMS is a central component of a Geographical Information System (GIS). GIS has a major role to play in managing the national physical and informational infrastructure. An understanding of spatially enabled DBMS is vital in implementing any information system where geographic data is required. This course focuses on the role of the DBMS in geographical applications.

Course Description 1

Foundations Fundamental geographic concepts for GIS The world in spatial terms, how natural and man made features can be stored in a DBMS. We can have qualitative and quantitative location e.g. address and coordinate systems. These can be related using geo-referencing. Maps can be used as representation of the world and of information. We focus on topological, geometric, and thematic information.

Course Description 2

Algorithms for GIS: Intersection of lines, operations on polygons, network traversal, auto-correlation, statistical operations, searching. We focus on the use of algorithms, not their design. The actual algorithms are provided as database extensions (e.g. PostGIS) or desktop GIS (e.g. OpenJump or uDig)

Course Description 3

Spatial representations: Raster, vector, TIN, quadtrees, R-trees, scan orders, polygon coverage, discrete objects, networks, time, connections and topology, networks, distance and direction, flow and diffusion, spatial hierarchies, boundaries, spatial patterns, attributes of relationships. As with the algorithms the actual representations are provided by the DBMS extensions (via APIs) and GIS.

Course Description 4

Applications of geospatial data: Transportation networks, natural resources, soil data, oceanography, land cover, geology, climate, terrain, land records, administrative boundary data, demographic studies, decision support and health data.

Course Description 5

Spatial databases Spatial data: definitions, formats, models, queries the relational model, advanced SQL, data modelling techniques, implementing a simple database, post relational database models, object-relational and object-oriented models, spatial data structures, spatial indexing e.g. R-Tree, networking, database issues in GIS. The course will involve practical work on a range of appropriate software e.g. PostgreSQL/PostGIS, MLPQ/Presto, R-statistical package, ArgoCaseGEO, uDIG, OpenJump, GeoServer, Openlayers.

Learning Outcomes

On completion of the spatial database module, you will be able to: Use a database to store and query spatial data Understand spatial modelling techniques. Develop applications that use a spatially enabled

DBMS Understand and use the OGC standards GML,

SFSQL1, WMS, WFS, WPS. Distinguish and use appropriate database models Understand the DBMS extensions and APIs required

by application programs to handle spatial data.

Main Topics

Spatial database systems: PostgreSQL-Spatial database systems: PostgreSQL-PostGIS.PostGIS.

OGC OGC “Simple Features for SQL”“Simple Features for SQL” Spatial statistics; spatial RSpatial statistics; spatial R Geographic data on the web (e.g. Geographic data on the web (e.g.

Geoserver, Open Layers, Open Street Geoserver, Open Layers, Open Street Map, WMS,WFS,WPS)Map, WMS,WFS,WPS)

Spatial systems in a social and economic Spatial systems in a social and economic context.context.

Geographic Markup languageGeographic Markup languageGMLGML

GML can be loaded, saved and viewed using OpenJump

OGC Well Known TextOGC Well Known Text

http://en.wikipedia.org/wiki/Well-known_text

Main References

Spatial Databases: With Application to GIS Rigaux, Scholl, Voisard

 

http://ukcatalogue.oup.com/product/9780199554324.do#.UQkL1GeFng0/

http://www.pragprog.com/titles/sdgis/gis-for-web-developersGIS: A Computing Perspective

http://www.manning.com/obe/

http://www.spatial.cs.umn.edu/Book/

SoftwareSoftware PostgreSQLPostgreSQL PostGISPostGIS pgRoutingpgRouting Open JumpOpen Jump GeoserverGeoserver R LanguageR Language A little Google Maps, Java, & JavaScriptA little Google Maps, Java, & JavaScript Data from: Ordnance Survey Ireland, Open Street Data from: Ordnance Survey Ireland, Open Street

Map (OSM), Central Statistics Office (CSO)Map (OSM), Central Statistics Office (CSO)

top related