A spatial extension of the H2 database.
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.
h2gis-dist
main class from org.h2.tools.Server
to org.h2.tools.Console
Full Changelog: https://github.com/orbisgis/h2gis/compare/v2.1.0...v2.2.0
This release introduces several major changes in H2GIS synchronized with the new H2 2.X series.
slf4j-simple
dependency (#1261)ST_AsEWKB
function(#1271)ST_Multi
function (#1268)TableLocation.parse
now restore a TableLocation.toString()
to the initial stateH2GISOsgiDBFactory
and DataSourceFactoryImpl
) to *-osgi
package and keep test purpose class (HGISSimpleDBFactory
) in h2gis-functions
ST_OrderingEquals
and ST_AsBinary
parameters to handle the case of a null geometryFindGeometryMetadata
to handle the case of case-sensitive names<a>
tags.PostGISDBFactory.createDataSource(Properties)
staticTIME
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
Please check the H2 change log since 2.X series here https://github.com/h2database/h2database/releases
11
2.0.202
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
Bugs
Enhancements
Features
Documentation
Bugs
Enhancements
Features
Documentation
Bugs
Enhancements
Features
Documentation
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).
This PR changes the H2GIS license from GPL 3 to LGPL3.