Converting PostgreSQL Native Geometric Types to PostGIS

Introduction I comes as a surprise to some that PostgreSQL has it own native geometric type system. The geometric types are documented here but the list includes: point – Point on a plane – (x,y) lseg – Finite line segment – ((x1,y1),(x2,y2)) box – Rectangular box – ((x1,y1),(x2,y2)) path – Closed path (similar to polygon)Read More

How to calculate cumulative length of a linestring, or the truck tonnage that accumulates across a set of roads

This articles describes how to compute the cumulative length of a single linestring, or the total tonnage that crosses a set road segments.

Oracle Spatial Vector Acceleration: Flick the Switch

Introduction A lot has been written, positive and negative, about the speed of Oracle Spatial over the years, a lot of ill informed (I mean if you don’t use it, how can you criticize it?). But since Oracle Database 12c (12.1) there is no longer any doubt as to the speed of the product. Why?Read More

CheckRadii: Identifying Tight Radius Curves sections within LineString geometry data

Sometimes it is a data quality requirement for linear data (roads, pipelines, transmission lines) that curves within the lines must have a radius greater than a particular amount. Recently a customer asked me to write some TSQL functions to help them run data quality checks over linear data loaded into a SQL Server 2008 geometryRead More

Overlaying Polygons in SQL Server Spatial

Introduction The OGC operators for geometry processing only support two polygon inputs. geom.STIntersection ( other_geometry ) Additionally the Microsoft aggregate operators only include geometry union processing geometry::UnionAggregate and not overlay processing etc. UnionAggregate returns for all input polygons as the single Union (see above) does. Concept: Resolving all overlapping areas, without dissolving boundaries, is calledRead More