NivaarExam PrepOfficial exam papers ↗

18-Geom-A7 Geospatial Information Systems · May 2017

Question 14 of 15: Data-model and spatial-operation pairs

Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)

Notes on this paper

National Exams — May 2017 — 04-Geom-A7 Geospatial Information Systems. Closed-book; any non-communicating calculator permitted. Format: fifteen questions of varied value totalling 100 marks; fifteen questions constitute a complete paper and all fifteen are solved in full below. Most answers are required in essay form. Datum and coordinate conventions follow the Canadian spatial reference framework — NAD83(CSRS) horizontally and CGVD2013 vertically.

Reference texts: P. A. Longley, M. F. Goodchild, D. J. Maguire & D. W. Rhind, Geographic Information Systems and Science (4th ed., Wiley, 2015); P. Bolstad, GIS Fundamentals: A First Text on Geographic Information Systems (6th ed., XanEdu, 2019); P. A. Burrough, R. A. McDonnell & C. D. Lloyd, Principles of Geographical Information Systems (3rd ed., Oxford, 2015); M. Worboys & M. Duckham, GIS: A Computing Perspective (2nd ed., CRC, 2004); H. Samet, The Design and Analysis of Spatial Data Structures (Addison-Wesley, 1990); ISO 19115 Geographic information — Metadata.

Question 14: Data-model and spatial-operation pairs (10 marks)

Question text not reproduced: the examination questions are © Engineers and Geoscientists BC. Open the official past paper (linked at the top of this page) to read the question, then follow the worked solution below.

(a) Object-oriented vs relational data model. The relational model stores data as a set of flat, two-dimensional tables (relations) of rows and columns, linked by shared primary/foreign keys, and is queried with relational algebra/SQL. In a GIS context, geometry is held as a special column and features are joined to attribute tables by keys; the model is simple, mature, standardized and excellent for large tabular query, but it represents complex real-world objects only by decomposing them across tables and joins, and it does not natively capture behaviour or hierarchy. The object-oriented model represents each real-world entity as an object that encapsulates its geometry, attributes and behaviour (methods) together, and supports classes, inheritance (subtypes such as "highway" inheriting from "road"), and complex/nested types. This models complex geographic features and their relationships more naturally and keeps geometry and operations with the object, but is more complex and historically less standardized than relational SQL. Modern geodatabases are typically object-relational — a relational engine extended with object types — combining relational robustness with object-like feature classes, subtypes and rules.

(b) Spatial functions vs spatial constraints. Spatial functions are operations that compute or derive something from geometry — they take features as input and return a value or a new geometry. Examples: measurement functions (area, length, distance), predicate/relationship functions (ST_Intersects, ST_Within, ST_Touches), and geometry-producing functions (ST_Buffer, ST_Intersection, ST_Union, centroid). They are the analytical verbs of a spatial database. Spatial constraints, by contrast, are rules that restrict what geometry is permitted, enforcing spatial integrity so the data stay valid. Examples: topology rules (polygons must not overlap, must not have gaps; lines must not dangle; must be covered by), connectivity rules in networks, and geometric domains. The essential contrast: a function does something and yields a result (active, analytical), whereas a constraint forbids invalid states and is checked during editing (passive, integrity-preserving). Functions turn data into answers; constraints keep the data trustworthy so those answers are meaningful.

PairFirst memberSecond member
(a) Data modelObject-oriented: objects encapsulate geometry + attributes + behaviour; classes, inheritance; models complex features naturally.Relational: flat tables joined by keys; simple, standardized SQL; complex objects split across joins.
(b) Spatial operationSpatial functions: compute/derive (area, ST_Intersects, ST_Buffer) — active analysis.Spatial constraints: restrict/enforce (no overlap, no gaps, connectivity) — passive integrity.