270 likes | 284 Views
This paper explores the cheapest and most efficient methods for building a spatial database, including data collection, migration, and integration with existing systems. It also discusses the challenges of generalization and topological issues in database design.
E N D
Spatial Databases:Data Collection Spring, 2018 Ki-Joune Li
Why Data Collection? • The cheapest way to build spatial DB • Get existing databases, but • Check if the requirements be satisfied • Metadata: Description of Data • Data Migration vs. Interoperability • Legacy Problem • Building an Information System • No more entirely new system • Integration with Existing systems • Integration with existing DB
Integration with Existing Databases • Data Migration • Copy from existing DB • Procedure • Survey on existing DB: Data Clearinghouse • Metadata • Conversion from existing databases • Integration of several databases: Mismatch Problem Legacy System New System Existing System New System Existing DB Copy fromLegacy DB New DB
Geo-Data Clearinghouse • Geo-Data Clearinghouse • Clearinghouse: financial services company that provides clearing and settlement services for financial transactions. (in Wikipedia.com) • Collection of Geospatial Data Servers • Collection of metadata Not data itself. • Providing a single interface to browse metadata of several servers • Z39.50 protocol and client • Example: FGDC in USA • (http://clearinghouse1.fgdc.gov/)
Metadata for Geospatial Data: ISO 19115 • Title, and Alternative title, Originator, Abstract, and Data • Frequency of update • Presentation type • Access constraint, Use constraints • Topic category • Bounding coordinates, and extent • Spatial reference system, and resolution • Supply media, and data format • Supplier and Additional information source • Date of update of metadata • Sample of the dataset • Dataset reference date, and language • Vertical extent information • Spatial representation type • Lineage • Online resource Some items are mandatory and others are optional
Generalization: Conversion of spatial data • Conversion from • Large-Scale Spatial DB to Small-Scale Spatial DB • Cartographic Aspect vs. DB Aspect • Cartographic viewpoint: To make maps more visible • DB viewpoint: To reduce the size of data • Six Generalization Operators • Simplification • Elimination • Translation (Cartographic Purpose) • Aggregation • Collapse • Exaggeration (Cartographic Purpose)
Simplification • Simplification (Line Simplification) • Elimination of internal nodes from a polyline • To minimize the loss of accuracy • Example: which point to remove • Douglas-Peucker Algorithm • A greedy algorithm
Elimination • Eliminate spatial objects not satisfying given conditions • Example • Eliminate *From BuildingsWhere area < 100 m2 • Propagation of Elimination • Elimination may destroy cardinality condition • Example: What to do in this case ? 1..1 District District_Office 1..1
Aggregation - With Boundary - Without Boundary Aggregation • Aggregate a set of spatial objects into a large object • Definition of the boundary of aggregated object ? • Aggregation of Non-Spatial Data • Example: Number of Habitants in the apartment complex • Sum, Max, or Average ApartmentComplex A B C
Collapse • Reduction of Dimensionality • From 2-D to 1-D (from surface to line) • From 2-D to 0-D (from surface to point) • Very Rarely from 1-D to 0-D • Example • Computation of collapsed objects Surface in 1/1,000 Map Line in 1/50,000 Map
Topological Issues in Generalization • Example • How to Correct it • No drop vertex if Topological Inconsistency • Translation of the object with problem Left Side Right Side Topologically Incorrect
A B Collapse to point R(B, A) RG(B, A) What is the correct topology after the collapse ? Topological Issues in Generalization • Another Example A B A contains B A is equal to B at least B contains A
Road A Buildings Aggregation B R(B, A) RG(B, A) Is it correct ? Topological Issues in Generalization • Another Example Road A Buildings B1 B2 B3 B4 R(B,A)= Disjoint R(B,A)= Overlap
Mismatch Problems • Mismatches • Integration of several databases from different sources • Adjacent Maps • Different Accuracy • Different Dates of Creation • Different Maps • Different Ground Control Points • Different Accuracy • Etc.
Example: Topographic Map and Cadastral Map • Example Topographic Map Cadastral Map
Building DBA Manhole DBB Pole DBC Example Find the nearest manhole or pole to Building P
Building DB Manhole DB Pole DB Example Find the nearest manhole or pole to Building P A B
Building DB Manhole DB Pole DB Example result of the query Find the nearest manhole or pole to Building P A B
Building DB Manhole DB Pole DB Example result of the query A adjust the building position B the correct answer
Building DB Manhole DB Pole DB Example result of the query Find the nearest manhole or pole to Building P the correct answer
Spatial Query Consistent Spatial Databases Transformed Manhole DB Transformed Pole DB Building DB Manhole DB Pole DB Reference Spatial DB or Base Map Elastic Map Transformation: Rubber Sheeting • Elastic transformation of objects in each spatial database.
Corresponding Pair of Triangles MapRef MapA Control Points on the Reference Map Corresponding Control Points on Other Maps Elastic Map Transformation by Delaunay Triangulation Procedure 1. Select sets of Control Point Pair on MapRef and another MapA, respectively. 2. Delaunay Triangulation with Control Points on MapRef. 3. Triangular Transformation, for each Point p on MapA.
Triangular Transformation q1(u1, v2 ) p1(x1,y2 ) q (u, v) p (x, y) q3(u3, v3 ) q2(u2, v2 ) p2(x2, y2 ) p3(x3, y3 ) Triangle on MapRef (u,v) = (a1u1+a2u2+a3u3, a1v1+a2v2+a3v3) where a1 = b {(y2 – y3)x+ (x3 – x2)y + x2 y3 – x3 y2 } a2 = b {(y3 – y1)x+ (x1 – x3)y + x3 y1 – x1 y3 } a3 =b {(y1 – y2)x + (x2 – x1)y + x1 y2 – x2 y1 } b = (x1 y2 + x2 y3 + x3 y1 – (x2 y1 + x3 y2 + x1 y3 ))-1
Elastic Map Transformation : Example Control Points
Mismatched between Adjacent Maps • Examples Shift Discontinuity Disappearance
Edge Matching • Rules • Priority on More Recent Data • Respect of Pivot Objects • Respect of Predefined Constraints • e.g. Building should be rectangular Pivot Object