×
Community Blog PostgreSQL 3D City Applications

PostgreSQL 3D City Applications

In this article, the author explains various features in PostgreSQL that help implement 3D city applications.

By digoal

Background

Geospatial applications are playing an increasingly important role in urban planning and construction.

1

2

3

PostGIS is an open-source, freely available, and fairly Open Geospatial Consortium (OGC) compliant spatial database extender for PostgreSQL database management system.

It adds support for geographic objects in the PostgreSQL object-relational database. Besides, it follows the Simple Features for SQL specification from Open Geospatial Consortium (OGC).

  • Geometry types for Points, LineStrings, Polygons, MultiPoints, MultiLineStrings, MultiPolygons, and GeometryCollections.
  • Spatial predicates for determining geometries' interactions using the 3x3 DE-9IM (provided by the GEOS software library).
  • Spatial operators for determining geospatial measurements like area, distance, length, and perimeter.
  • Spatial operators for determining geospatial set operations like union, difference, symmetric difference, and buffers (provided by GEOS).
  • R-tree-over-GiST (Generalized Search Tree) spatial indexes for high-speed spatial querying.
  • Index selectivity support to provide high-performance query plans for mixed spatial/non-spatial queries.
  • For raster data, PostGIS WKT Raster (now integrated into PostGIS 2.0+ and renamed PostGIS Raster).
  • The PostGIS implementation is based on "lightweight" geometries and indexes optimized to reduce disk and memory footprint. Using lightweight geometries helps servers increase the data migration speed from physical disk storage into RAM, improving query performance substantially.
  • PostGIS is registered as "implements the specified standard" for "Simple Features for SQL" by the OGC. PostGIS has not been certified as compliant by the OGC.

PostGIS supports the following geometry constructors: http://postgis.net/docs/manual-2.4/reference.html

8.4. Geometry Constructors  
  
ST_GeogFromText — Return a specified geography value from Well-Known Text representation or extended (WKT).  
ST_GeographyFromText — Return a specified geography value from Well-Known Text representation or extended (WKT).  
ST_GeogFromWKB — Creates a geography instance from a Well-Known Binary geometry representation (WKB) or extended Well Known Binary (EWKB).  
ST_GeomFromTWKB — Creates a geometry instance from a TWKB ("Tiny Well-Known Binary") geometry representation.  
ST_GeomCollFromText — Makes a collection Geometry from collection WKT with the given SRID. If SRID is not given, it defaults to 0.  
ST_GeomFromEWKB — Return a specified ST_Geometry value from Extended Well-Known Binary representation (EWKB).  
ST_GeomFromEWKT — Return a specified ST_Geometry value from Extended Well-Known Text representation (EWKT).  
ST_GeometryFromText — Return a specified ST_Geometry value from Well-Known Text representation (WKT). This is an alias name for ST_GeomFromText  
ST_GeomFromGeoHash — Return a geometry from a GeoHash string.  
ST_GeomFromGML — Takes as input GML representation of geometry and outputs a PostGIS geometry object  
ST_GeomFromGeoJSON — Takes as input a geojson representation of a geometry and outputs a PostGIS geometry object  
ST_GeomFromKML — Takes as input KML representation of geometry and outputs a PostGIS geometry object  
ST_GMLToSQL — Return a specified ST_Geometry value from GML representation. This is an alias name for ST_GeomFromGML  
ST_GeomFromText — Return a specified ST_Geometry value from Well-Known Text representation (WKT).  
ST_GeomFromWKB — Creates a geometry instance from a Well-Known Binary geometry representation (WKB) and optional SRID.  

PostGIS supports the following geometry outputs:

8.7. Geometry Outputs  
  
ST_AsBinary — Return the Well-Known Binary (WKB) representation of the geometry/geography without SRID meta data.  
ST_AsEncodedPolyline — Returns an Encoded Polyline from a LineString geometry.  
ST_AsEWKB — Return the Well-Known Binary (WKB) representation of the geometry with SRID meta data.  
ST_AsEWKT — Return the Well-Known Text (WKT) representation of the geometry with SRID meta data.  
ST_AsGeoJSON — Return the geometry as a GeoJSON element.  
ST_AsGML — Return the geometry as a GML version 2 or 3 element.  
ST_AsHEXEWKB — Returns a Geometry in HEXEWKB format (as text) using either little-endian (NDR) or big-endian (XDR) encoding.  
ST_AsKML — Return the geometry as a KML element. Several variants. Default version=2, default precision=15  
ST_AsLatLonText — Return the Degrees, Minutes, Seconds representation of the given point.  
ST_AsSVG — Returns a Geometry in SVG path data given a geometry or geography object.  
ST_AsText — Return the Well-Known Text (WKT) representation of the geometry/geography without SRID metadata.  
ST_AsTWKB — Returns the geometry as TWKB, aka "Tiny Well-Known Binary"  
ST_AsX3D — Returns a Geometry in X3D xml node element format: ISO-IEC-19776-1.2-X3DEncodings-XML  
ST_GeoHash — Return a GeoHash representation of the geometry.  
ST_AsGeobuf — Return a Geobuf representation of a set of rows.  
ST_AsMVTGeom — Transform a geometry into the coordinate space of a Mapbox Vector Tile.  
ST_AsMVT — Return a Mapbox Vector Tile representation of a set of rows.  

PostGIS, combined with geospatial applications, can facilitate urban planning and construction.

PostGIS-related Materials

Some PostGIS-related materials are provided as follows:

1) 3D GIS and Application

2) 3D City Database for CityGML

3) Database Development With "3d-citygml" And "Energyade" - Schema For City-district-simulation Modeling

4) Environment Monitoring

5) Collect_Earth_User_Manual

6) Visual City

7) 3D City Database

8) Virtual City Database

9) Virtual City Data Compatibility

Standards

1) The OGC (Open Geospatial Consortium) is an international not-for-profit organization committed to making quality open standards for the global geospatial community.

2) CityGML - City Geography Markup Language.

3) CityJSON is a format for encoding a subset of the CityGML data model using JavaScript Object Notation (JSON).

Repost: CityGML Applications, Open Data, and Open Source Tools

Here are several resources that can be useful to help you better understand PostGIS, 3DCity modeling, and other related info.

References

1) https://en.wikipedia.org/wiki/PostGIS

2) https://goldsaucer.co.uk/projects/#content

3) https://github.com/TerriaJS/terriajs/issues/673

4) http://www.bluemarblegeo.com/about-us/index.php

5) https://github.com/3dcitydb

6) https://www.3dcitydb.org/3dcitydb/3dcitydb-in-action/

7) https://www.citygml.org/

8) http://www.virtualcitysystems.de/en/

9) Build a GIS App using OpenScales+MapServer+PostGIS

10) WebGIS (PostgreSQL+GeoServer+OpenLayers) Part 2: GeoServer Installation and Configuration (Repost)

11) Building a 3D GIS Application Using Geoserver and Google Earth

12) ST_AsCollada / ST_GeomFromCollada

13) http://postgis3d.blogspot.com/

0 0 0
Share on

digoal

277 posts | 24 followers

You may also like

Comments