H2gis Versions Save

A spatial extension of the H2 database.

v2.2.1

4 months ago

IMPORTANT

Cost of spatial indexes was historically hard-coded in H2, but all other indexes use a complex formula. The same formula will be used for spatial indexes too in the next H2 version (up to 2.2.224).

See : https://github.com/h2database/h2database/pull/3941 and https://github.com/h2database/h2database/issues/3940

This fix is not available in version 2.2.224 used by H2GIS.
As a consequence, some complex spatial queries may take longer to execute.

Changelog for v2.2.1

  • Next version
  • Update EPSG 2100 definition for GGRS87 / Greek Grid transformation
  • Add geojson utility to convert a resultset to JSON map
  • Update postgresql dependency to 42.3.8
  • Fix empty polygon with ST_TESSELLATE
  • Add ST_ConcaveHull function
  • Improve ST_Graph function to keep a list of columns for the edges
  • Upgrade H2 database from 2.1.214 to 2.2.220
  • Add ST_LineSubstring and ST_LineInterpolatePoint functions
  • Add ST_MaximumInscribedCircle function
  • Extend ST_CollectionExtract to filter with one or two dimensions
  • Add ST_Clip function to a [Multi]Polygon or [Multi]LineString geometry with another [Multi]Polygon or [Multi]LineString geometry
  • Add two utilities to return a list of numeric columns or the first one
  • Add ST_ForcePolygonCCW and ST_ForcePolygonCW functions
  • Add ST_MakeArcLine and ST_MakeArcPolygon functions
  • Fix ST_MakeEllipse to keep the SRID of the input point
  • Add ST_MinimumBoundingRadius function
  • Extend ST_MinimumBoundingRadius to support table or select query
  • Extend ST_MinimumBoundingRadius to copy all fields when the input data is a table or a select query
  • Add ST_Project function
  • Update H2 to 2.2.224 and SLFJ
  • Change the h2gis-dist main class from org.h2.tools.Server to org.h2.tools.Console
  • Set scope as test for slf4j-simple
  • Zip and unzip functions with subfolders
  • GeoJson driver must be able to read json extension
  • GeoJson handle the M ordinate. The limitation is only ZM is supported (default Z value to 0 if M is given but not Z)
  • GeoJson read the optional ID field on feature as an attribute, but currently it will be saved back into feature attribute.
  • FlatGeobuf driver. Read Write driver and FileTable. This driver does not support mixed geometry type. On write a spatial index is created by default. The spatial index on file table is not currently supported.
  • Expose FlatGeobuf driver to the IOMethods
  • FlatGeobuf must supports Unknown geometry type for SQL GEOMETRY
  • FlatGeobuf improve data types
  • FlatGeobuf enable select query on writer
  • Fix geojson about issue #1374 geojson without coordinates give h2 problems with coordinate dimension incompatibilities
  • Add ST_IsProjectedCRS and ST_IsGeographicCRS to check if the CRS is projected or geographic

v2.2.0

1 year ago

What's Changed

New Contributors

Full Changelog: https://github.com/orbisgis/h2gis/compare/v2.1.0...v2.2.0

v2.1.0

1 year ago

This release introduces several major changes in H2GIS synchronized with the new H2 2.X series.

Changelog for v2.1.0

  • Fix javadoc issues.
  • Remove slf4j-simple dependency (#1261)
  • Fix geometry_columns view function in order to escape table name with reserved database word (#1269)
  • Add an option in ASC file reader in order to add the asc content into an existing table (#1270)
  • Change batch size to use the optimal size (#1275)
  • Add new constructors to TableLocation (#1264)
  • Add ST_AsEWKB function(#1271)
  • Add ST_Multi function (#1268)
  • Fix GeoJSON driver on H2GIS does not use the good object type for geometry (#1277)
  • Fix estimated extend on schema (#1286)
  • TableLocation.parse now restore a TableLocation.toString() to the initial state
  • Make test run again without PostGIS instance
  • ST_DistanceSphere throws an exception when the two input srids are different (#1292)
  • Remove OrbisParent dependency
  • Update H2 to 2.1.212 and fix poly2tri dep
  • Move all OSGI dependencies to h2gis-functions-osgi and to postgis-jts-osgi
  • Move classes used for datasource creation (H2GISOsgiDBFactory and DataSourceFactoryImpl) to *-osgi package and keep test purpose class (HGISSimpleDBFactory) in h2gis-functions
  • Fix ST_OrderingEquals and ST_AsBinary parameters to handle the case of a null geometry
  • Fix ST_Accum and ST_Union to filter empty geometry
  • Fix FindGeometryMetadata to handle the case of case-sensitive names
  • Move header url into valid html <a> tags.
  • Make the method PostGISDBFactory.createDataSource(Properties) static
  • Fix ST_Union to return null if the entry geometry is null
  • Improve st_node to remove duplicate lines
  • Update H2 to 2.1.214
  • Fix an issue on writing as geojson a table with a null value typed as TIME
  • Add a mechanism to manage non-standardized prj file
  • Upgrade to JTS 1.19.0

v2.0.0

2 years ago

This release introduces several major changes in H2GIS synchronized with the new H2 2.X series. Besides many dozens of fixed bugs, performance improvements, more adherence to a standard SQL syntax and new data type (e.g JSON), the H2GIS geometry encoding and syntax declaration is now aligned with the PostGIS one.

The geometry encoding to store the value in H2 is the EWKB (extended well-known binary) format. The EWKB format is not an OGC standard, but a PostGIS specific format that includes the spatial reference system (SRID) identifier. Its textual representation using the WKT (well-known text) uses the pattern :

'SRID=4326;POINT(0 0)'

H2 supports POINT, LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING, MULTIPOLYGON, and GEOMETRYCOLLECTION geometries with the following coordinate dimension 2D (XY), Z (XYZ), M (XYM), and ZM (XYZM).

H2 provides the same syntax as PostGIS to build a table with a geometry data type.

e.g
CREATE TABLE mygeometrytable (ID INTEGER, GEOM GEOMETRY);
CREATE TABLE mygeometrytable (ID INTEGER, GEOM GEOMETRY(POINT));
CREATE TABLE mygeometrytable (ID INTEGER, GEOM GEOMETRY(POINT, 4326));
CREATE TABLE mygeometrytable (ID INTEGER, GEOM GEOMETRY(POINTZ, 4326));
CREATE TABLE mygeometrytable (ID INTEGER, GEOM GEOMETRY(POINTZM, 4326));
CREATE TABLE mygeometrytable (ID INTEGER, GEOM GEOMETRY(POINTM, 4326));

Note that

  • all databases created by H2 1.4.200 and older versions won't be compatible.
  • H2GIS needs at least JAVA 11

Please check the H2 change log since 2.X series here https://github.com/h2database/h2database/releases

Changelog for v2.0.0

  • Add changelog, contributing, header markdown files.
  • Fix SHPRead function to support null value (#1132)
  • Remove encoding argument on GeoJSONWrite / GeoJSONRead (#1130)
  • Improve TSVRead function (#1129)
  • AscRead and GeoJson read functions supports gz file (#1122 #1127)
  • Improve FileDriver (Shp and Dbf) to limit the number of columns (#1008)
  • Align create table geometry with PostGIS (#921)
  • Add ST_SVF function (#885)
  • Add ST_Point function (#848)
  • Add support to create index on a linked file (shp or dbf file) (#720)
  • Upgrade Java to 11
  • Upgrade H2 to 2.0.202
  • Upgrade to JTS 1.18.2
  • Add new function ST_VariableBuffer
  • Add new function ST_SubDivide (#1152)
  • Update H2 from 2.0.202 to 2.0.204
  • Added a workaround due to the new column type name returned for geometry data type eg GEOMETRY(POINT) instead of only GEOMETRY
  • Update H2 from 2.0.204 to 2.0.206
  • Add a new module to run sql script tests (disable by default)
  • Update ST_Force3D, ST_Force4D and ST_Force3DM to be inline with PostGIS
  • Update ST_UpdateZ to force the dimension when the z value is updated.
  • Update H2 from 2.0.206 to 2.1.210 to fix a memory issue and improve Geometry dimension check (#1233 and #1243)
  • Fix ST_MenSize to avoid expensive conversion (#1247)
  • Add method to create Datasource object
  • Update the dependencies Poly2Tri and java-network-analyzer
  • Restore transaction with batch setAutoCommit to false

v1.5.0

5 years ago

This release is aligned with CTS 1.5.2 (https://github.com/orbisgis/cts/releases) It's based on H2 1.4.197 and uses JTS 1.15. It introduces a significant change in package naming. The JTS library has switched from "com.vividsolutions" to "org.locationtech" packages and all H2GIS functions has been updated to follow it.

For a detailed list of issues go to : https://github.com/orbisgis/h2gis/milestone/6?closed=1

v1.4.0

6 years ago

Change log

Bugs

  • Fix ST_GRAPH : remove temporary tables
  • Fix ST_TRANSFORM : reset cache of cloned geometries
  • Fix ST_OSMDOWNLOADER

Enhancements

  • Drivers support empty tables

Features

  • Add ST_POINT()
  • Add ST_SVF()
  • Add ST_DRAPE()
  • Add ST_NODE()
  • Add JSON write driver

Documentation

  • Add ST_SVF documentation
  • Add ST_DRAPE documentation
  • Update ST_MAKEGRIDPOINTS documentation
  • Update QuickStart

v1.3.2

6 years ago

Change log

Bugs

  • Fix Invalid cost of PK Index
  • Fix on geojson driver

Enhancements

  • Add support to 2008 and RFC 7946 specification for GeoJson driver
  • Update H2 database to 1.4.196

Features

Documentation

  • Fix the readme to have the correct alias/classname CREATE ALIAS IF NOT EXISTS H2GIS_SPATIAL FOR "org.h2gis.functions.factory.H2GISFunctions.load"
  • Set postgis-jts-osgi to LPGL
  • Add docs for DoubleRange and IntegerRange functions
  • Add on ST_RemoveRepeatedPoint with tolerance
  • Improve ST_Expand
  • Update OSMRead, GPXRead and ST_Graph due to the new argument "delete the existing tables"

v1.3.1

7 years ago

Change log

Bugs

  • Read the prj file and set the SRID from FILE_TABLE interface
  • Align ST_NumInteriorRing to SQL/MM
  • ST_Length works only with Line, Curve and MultiLine and MultiCurve.
  • Fixes on GeoJSON driver

Enhancements

  • ST_Graph() is now compatible with a PostGIS database
  • Add ST_Expand() support distance for X and Y
  • Update to JTS 1.14
  • Update to H2 1.4.193
  • CSV, OSM and GPX drivers support options (encoding, field separators, delete existing tables...)
  • Add cancel action on the CSV driver
  • ST_OSMDOWNLOADER supports a delete argument to remove the downloading file

Features

  • H2GISversion() returns the H2GIS version
  • ST_Collect() is an alias of ST_Accum()
  • Add ST_NPoints() and fix ST_NumPoints() to be conform to SQL/MM
  • Add TSV importer and exporter drivers and functions
  • Add ST_GEOMFROMWKB()
  • Add ST_RemoveRepeatedPoints() and ST_RemoveDuplicatedCoordinates()
  • Add ST_MakeValid() to return a valid geometry

Documentation

  • ST_ACCUM(), ST_Collect(), ST_NPoints(), ST_RemoveRepeatedPoints(), ST_RemoveDuplicatedCoordinates(), ST_MakeValid(), ST_Graph()
  • H2 Network examples up to date

v1.3.0

7 years ago

H2GIS refactoring

The version 1.3.0 proposes a new organization for H2GIS modules and packages to make it easier to understand. Now all spatial and drivers functions are collected in the H2GIS-Functions module. H2Network functions are stored in the H2Network module. This module is loaded by the H2GIS-EXT project. H2GIS-EXT project is the main project to extend H2GIS-Functions with new features (Raster, Topology in the future).

H2GIS new license

This PR changes the H2GIS license from GPL 3 to LGPL3.

v1.2.4

7 years ago
  • Fix ST_SetSRID on null argument.
  • Fix ST_Transform on null argument.
  • Fix the KML, KMZ, geoJSON export with postgis.
  • Fix GPX and geoJSON datatype for postgresql
  • Add the support of TSV file (read and write).
  • Upgrade H2 database from version 1.4.188 to version 1.4.189.