© salisbury university freely available enterprise- class spatial database servers: experiences...

45
© Salisbury University Freely available enterprise-class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP), and PostGIS James Mooney, Brett Morgan, Kevin Ross, Adam Ruf, Ben Sigrist, and Art Lembo

Upload: dinah-price

Post on 16-Dec-2015

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Freely available enterprise-class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP), and PostGIS

James Mooney, Brett Morgan, Kevin Ross, Adam Ruf, Ben

Sigrist, and Art Lembo

Page 2: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Introduction

• Purpose: chronicle experiences in using free offerings of spatial database management systems for GIS.– Installation, loading, analysis, and display

• Databases– Oracle Spatial Express– Microsoft SQLServer Express 2008 (CTP)– PostGRES/PostGIS

Page 3: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Background

• The traditional GIS marketplace is rapidly changing.– Google: One of the largest Internet-based content

providers introduces Google Earth and Google Maps, introducing geospatial information to the mass market.

– Microsoft: World’s largest software company introduces spatial database capabilities in their product offerings, and introduces Microsoft Virtual Earth to compete with Google maps. Spatial capability is now available to all Microsoft Office users.

– Open Source: A burgeoning market of freely developed geospatial software places sophisticated geospatial technology in the hands non-traditional users.

Page 4: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Background

• Results of a new geospatial information super-highway– Volume: more users are now aware of a geospatial

information super-highway.– Affordability: more users are now able to afford the tools

to drive on the geospatial information super-highway– Navigation: more users require assistance to utilize the

tools of the geospatial information super-highway

• What geospatial information super-highway capabilities are available to the general public at little or no cost, and what is the potential for using these tools?

Page 5: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Spatial databases

PostGIS

SQLServer Express

Oracle Express

Page 6: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Companies

• PostGIS– PostGIS is a spatial

extension to PostgreSQL, an advanced open source database

– Developed and maintained by Refractions Research

– Freely available, Enterprise grade, Active user community

– http://postgis.refractions.net/

• Microsoft– Microsoft: Redman, WA– Microsoft is a software

company that has widespread adoption in the marketplace

– 6 Editions of software from Compact Edition to Enterprise Edition.

– Prices range from $0 to $25,000/processor

– We tested the Express Edition– Latest version: SQL Server

2008

• Oracle

– Oracle Database 10g Express Edition

– Current Version 10.2.0.1.0 (Express Edition)

– 32-bit

– Company’s Purpose: • http://www.oracle.com/tec

hnology/products/database/xe/index.html

Page 7: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Supported Data TypesPOSTGIS• OpenGIS Consortium Standards

– WKT (Well Known Text)– WKB (Well Known Binary)– Both of these formats include

information about the type of the object as well as the coordinates which form the object

• Examples of object types– POINT (0 0)– LINESTRING (0 0,1 3,5 7)– POLYGON ((0 0,1 1,2 2,2 0,0 0),(0

5,5 1,6 1,0 5)– MULTIPOINT (0 0,1 3)– MULTILINESTRING ((0 0,1 1,1 2),(2

3,3 2,5 4))– MULTIPOLYGON(((0 0,4 0,4 4,0 4,0

0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))

– GEOMETRYCOLLECTION(POINT(2 3),LINESTRING((2 3,3 4)))

SQLSERVER• Proprietary data format

– Conforms to OGC standards– WKT (Well Known Text)– Geometry Data Type

• Represents data in an Euclidean (flat) coordinate system

– Geography Data Type• Represents data in an Ellipsoidal

(round-earth) coordinate system• Examples of object types

– Point– MultiPoint– LineString– MultiLineString– Polygon– MultiPolygon– GeometryCollection

ORACLE• OpenGIS Consortium Standards

– WKT (Well Known Text)

– WKB (Well Known binary)

– Oracle spatial

Page 8: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Known LimitationsSQLServer• Data type restrictions

– Each Geog instance must fit in a Hemisphere

– Instance from (OGC), (WKT),(WKB) object larger than a hemisphere throws an Argument exception

– Geog methods that require input from two Geog instances (intersect,union,differences,symdiff) return null if bigger than a single hemisphere

Oracle• Memory – Only 1gb RAM is

addressed, limiting the number of concurrent users.

• XE will only use one CPU. It can be run on a multi-CPU configuration, but will not scale up to use those other CPUs.

• Only one XE Database may be run on an individual computer.

• 4gb Disk Space limitation.

Page 9: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Architecture for testing• Hardware

– Standard PC with Microsoft XP– Shuttle PC P2 Prima 3500

– 64-bit, 3.0 GHZ.– 8 GB RAM– Quad-core

• Software– Spatial databases: Oracle, SQLServer, – PostGIS– Viewing: Manifold GIS, Quantum GIS– Loading: Manifold GIS, SPIT, SharpNet

• Data– Simple point, line, area– City of Ithaca parcels (5,000 area features)– Large fictitious grid (5 million area features)– TIGER data for Northeast US (4 million linear

features)

Page 10: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Installation

Page 11: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Installation• Each product has a Window’s based installation

process– Oracle had the simplest installation process– PostGIS and SQLServer had numerous difficulties within

the University network.– PostGIS and SQLServer worked fine on individual

computers

Page 12: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Loading Spatial Data

Page 13: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Simple line insertion with SQL

Page 14: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Line Segment

Page 15: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Oracle Data Loading

Page 16: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Data File

Page 17: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Ithparc2 Linked to Oracle

Page 18: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Query in SQLServer sqlcmd

Page 19: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

The query in manifold along with the original parcel drawing and the one from the database.

Page 20: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Page 21: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Loading data with 3rd party products

Page 22: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Manifold’s database console was used to Connect to the new database.

Page 23: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Page 24: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

- Exporting data using Manifold is fairly straightforward.

- Used Manifold to export BigBadData (5 million records) and the roads data (4 million records) into separate databases

- The BigBadData took about one hour and twenty minutes

- The roads data took about forty five minutes

SQLServer - Exporting data with Manifold

Page 25: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

SharpGIS Shapefile uploader

• This tool was recently created by Morten Nielsen

• It can be obtained freely from http://www.sharpgis.net

• This tool was designed to easily upload ESRI Shapefiles into SQLServer 2008

Page 26: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

This shows the County Data Opened in manifold

Page 27: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

PostGIS with SPIT

Page 28: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Traditional and Spatial Queries

Page 29: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

SQL Queries SQLServer

• SELECT * From dbo.Cnty_sf1_Drawing where P001001 > 100000

• SELECT SUM(P001001) as SUM

FROM dbo.Cnty_sf1_Drawing

• SELECT AVG(P001001) as AVG

FROM dbo.Cnty_sf1_Drawing

Oracle

• SELECT GEODESC FROM Cnty_sf1_drawing WHERE P001001 > 100000;

• SELECT SUM(P001001) AS SUM FROM Cnty_sf1_drawing;

• SELECT AVG(P001001) AS AVG FROM Cnty_sf1_drawing;

PostGIS

• SELECT * FROM "BigBadData” WHERE "Population" > 90000

• SELECT SUM("Population") AS Sum FROM "BigBadData"

• SELECT AVG("Population") AS Average FROM "BigBadData"

Page 30: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

SQLServerSpatial Queries

BufferDECLARE @Wicomico geometry;

SET @Wicomico= (SELECT top 1 geom FROM dbo.Cnty_sf1 WHERE GEODESC= 'Wicomico County');

SET @Wicomico= @Wicomico.MakeValid();

SET @Wicomico= (SELECT @Wicomico.STBuffer(250).ToString());

Insert into bobo2(geom)

VALUES(@Wicomico);

Page 31: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

SQLServerSpatial Queries

UNIONDECLARE @Parc1 geometry;

DECLARE @Parc2 geometry;

DECLARE @Result geometry;

SET @Parc1= (SELECT top 1 geom1 FROM dbo.Parcels WHERE gid= 27);

SET @Parc2= (SELECT top 1 geom1 FROM dbo.Parcels WHERE gid= 419);

SET @Parc1= @Parc1.MakeValid();

SET @Parc2= @Parc2.MakeValid();

SET @Result= (SELECT @Parc1.STUnion(@Parc2));

INSERT INTO Dist(geom)

VALUES (@Result);

Page 32: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Oracle Spatial Query: BufferSDO_BUFFER(Geometry, Distance in meters, Tolerance)

Page 33: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Oracle Spatial Query: Union

SDO_UNION(Geometry1, Geometry2, Tolerance)

Page 34: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

PostGISSpatial Queries

BUFFERSELECT

ST_Buffer(geometry,.1)

FROM "BigBadData"

WHERE "Population" > 90000

Page 35: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

PostGISSpatial Queries

UNION

SELECT ST_UNION((SELECT geometry FROM "Parcels" WHERE gid = 27),(SELECT geometry FROM "Parcels" WHERE gid = 419))

Page 36: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Page 37: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Page 38: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Page 39: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Discussion

Observations and expectations of first time users

Page 40: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

PostGIS

• Positive– SQL syntax was the most straightforward– PGAdmin was very easy to use (little directions

necessary)– Useful GUI capabilities for management– Easy integration with Manifold and QGIS– Large and helpful user committee

• Negative– Installation in certain environments was difficult – Very large datasets locked up the server (possibly

due to our hardware configuration)

Page 41: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Oracle

• Positive– Very easy installation– Good documentation– Spatial SQL easy to write– Administration tool easy to use– Easy integration with Manifold

• Negative– Oracle Express limited character length in

enormous INSERT statements– Geometry queries required more thought, as

more parameters were required.– Use of control files was cumbersome

Page 42: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

SQLServer Express 2008

• Must remember that this was a CTP, and part of the objective is to uncover inefficiencies. Therefore, this is not a criticism of SQLServer Express 2008.

• Positive– Good online help– SQL straightforward– Relatively fast processing– Good integration with Manifold and SharpGIS

• Negative– Installation was difficult (but remember, it was a CTP)– Spatial SQL more cumbersome than other products– Currently no management studio– Reverse format of X,Y coordinates made certain loading

difficult.

Page 43: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Future Activities

• GEOG 415 – Special topics class (Spring 2009) at Salisbury University in building enterprise spatial database management systems– Currently evaluating pilot projects for implementing an

enterprise-wide, low cost spatial database management system within a local Eastern Shore agency.

• EFRI- RESIN: Decision Support for Water Supplies and Critical Interdependent Infastructure – Central enterprise coordination of shared geospatial storage

(Cornell University, University of Delaware, University of Southern California, and Salisbury University) for a large National Science Foundation (NSF) proposal. Spatial database includes PostGRES/PostGIS with client access from ArcGIS, Manifold GIS, Quantum GIS, and Microsoft Office applications.

Page 44: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Conclusion• Many free versions of large-scale spatial databases exist

beyond what we investigated• Products were easy enough to use so that an evaluation of all

three was possible in a one semester course• Each software product had its strengths and weaknesses in

terms of – Installation– Data loading– Data analysis– Data integration with third party products

• Having a third party product to manage data loading, analysis and display is beneficial

• Cutting one’s teeth on the free versions of the data products are an ideal way to prepare a full migration to the full package

Page 45: © Salisbury University Freely available enterprise- class spatial database servers: experiences with Oracle 10g Express, SQLServer Express 2008 (CTP),

© Salisbury University

Workgroup ideas

• Manifold does not really operate in a true client/server implementation with spatial databases– Still too committed to caching all the data– What are the tradeoffs of this approach?

• Should Manifold become a true client to these spatial databases?

• Should Manifold create their own middle-ware tier?– What are the tradeoffs of this approach?