7.5 Land Information Systems and Spatial Databases

Key Takeaways

  • Land Information Systems (LIS) integrate spatial cadastral mapping with legal, economic, and environmental tenure attributes to support effective land administration under the Land Use Act.
  • Spatial Relational Database Management Systems (PostgreSQL/PostGIS, Oracle Spatial) extend classic RDBMS with native spatial data types (POINT, LINESTRING, POLYGON) and OGC-compliant spatial functions.
  • Spatial indexing algorithms like R-Trees and Quadtrees group geometries into Minimum Bounding Rectangles (MBRs) to bypass expensive full-table scans and accelerate spatial query performance.
  • Unique Parcel Identifiers (UPI) establish an unambiguous, hierarchical alphanumeric coding system linking digital spatial geometries to legal land titles and physical survey plans in State Ministries of Lands.
Last updated: August 2026

5.2 Land Information Systems & Spatial Databases

A Land Information System (LIS) is a specialized Geographic Information System designed to serve as a decision-support tool for land administration. An LIS combines spatial cadastral parcel geometry (boundaries, corners, survey control) with legal, administrative, and economic data (land ownership titles, rights, restrictions, land use, and valuation). In Nigeria, LIS frameworks play a vital role in implementing the Land Use Act of 1978, transforming paper-based land registries into digital enterprise environments.

Multipurpose Cadastre & LIS Architecture

A modern Multipurpose Cadastre consists of four core components:

  1. Reference Frame: A dense network of geodetic control stations (e.g., NIGNET CORS network) establishing the spatial baseline.
  2. Cadastral Overlay: Accurate digital boundary maps of all land parcels linked to physical ground beacons.
  3. Legal / Registry Subsystem: Records of legal rights, interests, encumbrances, and Certificate of Occupancy (C of O) details.
  4. Environmental & Assessment Subsystem: Property taxation rolls, land valuation models, zoning restrictions, and soil capability indexes.

Spatial Database Management Systems (S-RDBMS)

Traditional Relational Database Management Systems (RDBMS) process standard text and numeric data types (INTEGER, VARCHAR, DATE). However, handling complex spatial geometries requires an Object-Relational Database Management System (ORDBMS) equipped with spatial extensions, such as PostgreSQL with PostGIS or Oracle Spatial.

Spatial Data Formats & Geometry Specifications

PostGIS implements the Open Geospatial Consortium (OGC) Simple Features Specification for SQL, supporting standard geometry data types:

  • POINT(Easting Northing)
  • LINESTRING(E1 N1, E2 N2, E3 N3)
  • POLYGON((E1 N1, E2 N2, E3 N3, E1 N1))
  • MULTIPOLYGON(...)

Spatial geometries are serialized into Well-Known Text (WKT) for human readability or Well-Known Binary (WKB) for efficient storage and network transmission. Each spatial column is tagged with a Spatial Reference System Identifier (SRID) corresponding to an EPSG code (e.g., SRID 26331 for Minna / UTM Zone 31N), ensuring geometric operations occur in true metric units.

Spatial Indexing: R-Tree & Quadtree

Searching through millions of cadastral land parcels using standard B-Tree database indexes is inefficient because spatial data is multi-dimensional. Spatial databases employ R-Tree Indexing or Quadtree Indexing to optimize search performance.

  • R-Tree Indexing: Hierarchically groups nearby spatial features into Minimum Bounding Rectangles (MBRs). The database constructs a bounding-box tree where leaf nodes hold actual feature geometries and parent nodes hold bounding boxes enclosing child MBRs.

  • Two-Pass Query Execution:

    1. Primary Filter Phase (Bounding Box Test): The spatial index evaluates MBR overlaps using rapid bounding-box calculations, reducing search candidates from millions to a tiny subset ($O(\log N)$ complexity).
    2. Secondary Re-check Phase (Exact Geometry Test): The database executes detailed computational geometry algorithms (such as the point-in-polygon ray-casting algorithm) strictly on the filtered candidate features.
  • GiST (Generalized Search Tree): In PostGIS, R-Trees are implemented via GiST indexes (CREATE INDEX idx_parcel_geom ON cadastral_parcels USING GIST (geom);).

OGC SQL Spatial Query Predicates & Operations

Spatial databases execute complex spatial analysis directly within SQL statements using standardized spatial functions:

1. Spatial Measurement Functions

  • ST_Area(geom): Computes planar surface area in square meters.
  • ST_Perimeter(geom): Calculates polygon boundary length.
  • ST_Distance(geomA, geomB): Returns minimum distance between two geometries.

2. Spatial Relationship Predicates (Boolean Operators)

  • ST_Intersects(geomA, geomB): Returns TRUE if geometries share any space.
  • ST_Contains(geomA, geomB): Returns TRUE if geometry B lies completely inside geometry A.
  • ST_Within(geomA, geomB): Inverse of ST_Contains (Geometry A lies within B).
  • ST_Touches(geomA, geomB): Returns TRUE if geometries meet only at boundaries without interior overlap.
  • ST_DWithin(geomA, geomB, distance): Returns TRUE if features are within a specified distance.

3. Spatial Processing & Construction Functions

  • ST_Buffer(geom, distance): Constructs a buffer polygon around a geometry.
  • ST_Union(geomA, geomB): Merges overlapping geometries into a single feature.
  • ST_Intersection(geomA, geomB): Returns the shared geometric region.
  • ST_Difference(geomA, geomB): Returns the portion of geometry A that does not intersect B.
Loading diagram...
Enterprise Land Information System (LIS) Architecture & Cadastral Workflow

Unique Parcel Identifier (UPI) Systems & Enterprise LIS in Nigeria

Unique Parcel Identifier (UPI) Syntax

A Unique Parcel Identifier (UPI) is an unambiguous, structured alphanumeric code assigned to a single land parcel. The UPI serves as the relational primary key connecting spatial vector parcel polygons in PostGIS to physical paper survey plans, title deeds, and tax rolls in the Land Registry.

A standardized Nigerian enterprise UPI structure follows a hierarchical coding format: UPI=STLGADISTBLKPARC\text{UPI} = \mathbf{ST} - \mathbf{LGA} - \mathbf{DIST} - \mathbf{BLK} - \mathbf{PARC}

  • $\mathbf{ST}$ = 2-letter State Code (e.g., LA for Lagos, KD for Kaduna, FCT for Abuja).
  • $\mathbf{LGA}$ = 3-digit Local Government Area Code (e.g., 014).
  • $\mathbf{DIST}$ = 3-digit District / Cadastral Zone Code (e.g., 002).
  • $\mathbf{BLK}$ = 4-digit Survey Block Number (e.g., 0115).
  • $\mathbf{PARC}$ = 4-digit Sequential Parcel Number (e.g., 0042).

Example UPI: LA-014-002-0115-0042 represents Lagos State, LGA 014, District 002, Block 115, Parcel 42.

Enterprise LIS Implementation Case Studies in Nigeria

State Ministries of Lands across Nigeria have deployed enterprise GIS platforms to modernize land administration:

  • AGIS (Abuja Geographic Information Systems): Modernized land records management in the Federal Capital Territory, pioneering digital C of O issuance.
  • KADGIS (Kaduna Geographic Information Service): Automated parcel registration, digital title recertification, and systematic land titling.
  • KANGIS (Kano Geographic Information System) & LAGIS (Lagos State Enterprise GIS): Integrated spatial databases for property valuation, revenue generation, and land conflict resolution.
-- PostGIS Script: Spatial Cadastral Database Table Creation, R-Tree Indexing, and Querying

-- 1. Create Cadastral Parcels Table with Minna / UTM Zone 31N Projection (SRID 26331)
CREATE TABLE cadastral_parcels (
    parcel_id SERIAL PRIMARY KEY,
    upi VARCHAR(30) UNIQUE NOT NULL,
    owner_name VARCHAR(150) NOT NULL,
    title_type VARCHAR(50) DEFAULT 'Certificate of Occupancy',
    land_use VARCHAR(50),
    geom GEOMETRY(Polygon, 26331) NOT NULL
);

-- 2. Build Spatial R-Tree Index using GiST
CREATE INDEX idx_cadastral_parcels_geom 
ON cadastral_parcels USING GIST (geom);

-- 3. Execute Spatial SQL Query: Find overlapping parcels and compute encroachment area
SELECT 
    a.upi AS primary_parcel_upi,
    b.upi AS encroaching_parcel_upi,
    ST_Area(ST_Intersection(a.geom, b.geom)) AS encroachment_area_sqm
FROM cadastral_parcels a
JOIN cadastral_parcels b 
    ON ST_Intersects(a.geom, b.geom) 
   AND a.parcel_id < b.parcel_id;
Test Your Knowledge

How does an R-Tree spatial index accelerate performance when querying millions of cadastral land parcels in PostGIS?

A
B
C
D
Test Your Knowledge

In spatial SQL databases, what is the core functional difference between the spatial predicates ST_Intersects(A, B) and ST_Contains(A, B)?

A
B
C
D
Test Your Knowledge

What primary function does a Unique Parcel Identifier (UPI) fulfill within an enterprise Land Information System (LIS)?

A
B
C
D
Test Your Knowledge

What is the importance of specifying a Spatial Reference System Identifier (SRID) such as EPSG:26331 when defining spatial geometry columns in PostGIS?

A
B
C
D