← Back
Home › Systems › Databases and storage engines

geo-db

geospatial database and index

PostGIS, H3

SystemTechniques · 5Primitives · 22 geo-db Polygon clippinggeometry · medium: Polygon intersection/union/difference (Weiler-Atherton, Martinez) for spatial predicatesQuery optimizerstorage · medium: Cost-based plan search: join ordering (DP/greedy), rewrites, access path selectionCardinality estimationstorage · medium: Row-count estimates from histograms, MCVs, sketches and sampling for the optimizerJoin order dynamic programmingstorage · medium: DPccp and DPhyp enumeration of join orders with cost models; greedy fallback for many joinsSubquery decorrelationstorage · medium: Unnest correlated subqueries into joins via dependent join and magic setsPoint in polygongeometry · low: Ray-casting/winding tests and indexed polygon lookup for reverse geocodingGeodesic distance (haversine, Vince…geometry · low: Shortest-path distance between two lat/lon points on the Earth: haversine on a sphere (about 0.5% error), Vincenty or Karney on the WGS84 ellipsoid (sub-millimetre).›Geospatial cell index (geohash, S2,…geometry · low: Map a lat/lon to a 64-bit cell id on a hierarchical grid, so "near" becomes an integer range scan in any ordinary sorted index.›k-d treegeometry · low: A binary tree that splits k-dimensional points by one coordinate per level, giving fast nearest-neighbour and box queries on static low-dimensional data.›Line simplificationgeometry · low: Douglas-Peucker and Visvalingam polyline simplificationMap projectionsgeometry · low: Web Mercator, UTM and equal-area projections, datums and coordinate transformsR-treegeometry · low: A balanced tree of nested bounding boxes that indexes rectangles and points, answering window and nearest-neighbour queries by pruning whole subtrees.›Space filling curvesgeometry · low: Z-order/Morton (geohash) and Hilbert curves mapping multi-dimensional points to sortable keysB+ treestorage · low: Balanced high-fanout search tree with all values in linked leaves; the default on-disk index for point lookups and range scans.›d-ary heapdata-structures · low: Array heap with d children per node (d = 4 typical): half the binary heap's depth, siblings in one cache line, faster priority queues.›Exact geometric predicatesgeometry · low: Robust orient and incircle tests with adaptive-precision floats (Shewchuk) or exact arithmeticPartition pruningstorage · low: Skip whole partitions using partition transforms and predicate analysisPredicate pushdownstorage · low: Move filters and projections into scans and remote sourcesRelational algebrastorage · low: Relational operators and equivalence rules: selection pushdown, join reordering, projectionsHyperLogLogdata-structures · low: Counts distinct elements in kilobytes with about 1 % error by tracking the longest run of leading zero bits in hashed values per bucket.›Quantile sketchesdata-structures · low: Mergeable quantile sketches: t-digest, DDSketch, HDR histograms+ 6 more primitives

Similar systems

Share the most building blocks with this one.