A spatial extension of the H2 database.

Overview

H2GIS

GitHub Build Stat Build Test codecov Codacy Badge

H2GIS is a spatial extension of the H2 database engine in the spirit of PostGIS. It adds support for managing spatial features and operations on the new Geometry type of H2, the Open Geospatial Consortium (OGC) Simple Features for SQL (SFSQL) functions and additional spatial functions that we (the CNRS) develop.

H2GIS is the root project for the new OrbisGIS data management library. It contains tools to execute geometry analysis and read/write geospatial file formats.

H2GIS is licensed under the LGPL 3 license terms.

h2gis-functions

h2gis-functions is the main module of the H2GIS distribution. It extends H2 by adding spatial storage and analysis capabilities,including

  • a constraint on Geometry data type storing POINT, CURVE and SURFACE types in WKB representations
  • spatial operators (ST_Intersection, ST_Difference, etc.)
  • spatial predicates (ST_Intersects, ST_Contains, etc.)
  • additional spatial SQL functions that are not in Simple Features for SQL (SFSQL)

Ex: ST_Extent, ST_Explode, ST_MakeGrid

It contains a set of driver functions (I/O)) to read/write file formats such as .shp, .dbf, .geojson, .gpx

This I/O package include 2 implementation of TableEngine that allow you to immediatly 'link' a table with a shape file.

It include also file copy functions (import):

  • SHPREAD( ) and SHPWRITE( ) to read and write Esri shape files.
  • DBFREAD( ) and DBFWRITE( ) to read and write DBase III files.
  • GeoJsonRead() and GeoJsonWrite() to read and write GeoJSON files.
  • GPXRead() to read GPX files.

Usage

For now, H2GIS requires Java 6. Run maven clean install -P standalone in the H2GIS's root directory.

In the folder h2gis-dist/target/ you will find a zip file h2gis-standalone-bin.zip.Unzip the file then open h2gis-dist-xxx.jar It will open a browser based console application.

~ $ unzip h2gis-standalone-bin.zip

~ $ cd h2gis-standalone

~/h2gis-standalone $ java -jar h2gis-dist-xxx.jar

Click Connect in the web interface

Create a database and run the following commands to add spatial features (do it only after the creation of a new database):

Initialize the H2GIS extension

To initialize the H2GIS extension apply the SQL syntax:

CREATE ALIAS IF NOT EXISTS H2GIS_SPATIAL FOR "org.h2gis.functions.factory.H2GISFunctions.load";
CALL H2GIS_SPATIAL();

When the functions are installed you can open a shapefile by calling the following SQL request:

CALL FILE_TABLE('/home/user/myshapefile.shp', 'tablename');

This special table will be immediatly created (no matter the file size). The content will allways be synchronized with the file content.

You can also copy the content of the file into a regular H2 table:

CALL SHPREAD('/home/user/myshapefile.shp', 'tablename');

Or copy the content of a spatial table in a new shape file:

CALL SHPWRITE('/home/user/newshapefile.shp', 'tablename');

Contributing

For legal reasons, contributors are asked to provide a contributor license agreement. We invite each contributor to send a mail to the H2GIS developer mailing list.

The mail need to include the following statement:

"I wrote the code, it's mine, and I'm contributing it to H2GIS for distribution licensed under the LGPL 3.0."

For a significant contribution, send a PR on GitHub and refer it in your message. For a single contribution join a patch to your mail.

Download

To download the last H2GIS stable release and find documentation please go to http://www.h2gis.org

You can include H2GIS in your project thanks to Maven repositories.

From maven central, check https://search.maven.org/artifact/org.orbisgis/h2gis/1.4.0/bundle

To use the current snapshot add in the pom

<repository>
  <id>orbisgis-nexus-snapshot</id>
  <name>OrbisGIS nexus snapshot repository</name>
  <url>http://nexus.orbisgis.org/content/repositories/osgi-maven-snapshot</url>
</repository>

Acknowledgements

The H2GIS team utilizes open source software. Specifically, we would like to thank :

Supporters

Many thanks for those who reported bugs or provide patches...

Team

H2GIS is composed of four qualified professionals in GIS and informatic sciences.

  • Erwan Bocher leads the project.
  • Nicolas Fortin is the lead programmer.
  • Sylvain Palominos is the lead programmer of the OrbisGIS platform.
  • Gwendall Petit is in charge of the documentation and manages all public relations with the community users.
Comments
  • Improve ShapeFile driver

    Improve ShapeFile driver

    The read method of the ShapeFile driver, convert bytes to a JTS geometry and then convert the geometry to H2 ValueGeometry. We can short cut it and convert directly the bytes to H2 ValueGeometry.

    See https://github.com/orbisgis/h2gis/blob/master/h2gis-functions/src/main/java/org/h2gis/functions/io/shp/internal/SHPDriver.java#L245

    Priority Major 
    opened by ebocher 42
  • Update to the last H2 1.4.199

    Update to the last H2 1.4.199

    Since the last H2 release many changes have been introduced that break the H2GIS compatibility.

    ValueGeometry.getString() returns now a EWKT representation not a WKT. So

    ResultSet rs = st.executeQuery("SELECT ST_GeomFromText('POINT(0 10)', 0)");
            rs.next();
            assertEquals("POINT (0 10)", rs.getString(1))
    

    will return

           assertEquals("SRID=0;POINT (0 10)", rs.getString(1))
    

    Note that EWKT is not a standard but a PostGIS specific format. The PostGIS JDBC driver returns a WKT representation on rs.getString(1)

    I think H2 must be aligned on the same behaviour.

    @nicolas-f @SPalominos @katzyn

    Priority Critical 
    opened by ebocher 42
  • Align H2 create table geometry with POSTGIS (for discussion)

    Align H2 create table geometry with POSTGIS (for discussion)

    Currently to create a geometry table in H2, the syntax is

    CREATE TABLE geotable (id integer, the_geom GEOMETRY);
    

    PostGIS uses

    CREATE TABLE geotable (id integer, the_geom geometry(Point, 4326));
    

    I think it would be good to align H2 with POSTGIS. What do you think of that?

    @katzyn

    Priority Critical 
    opened by ebocher 32
  • Improve ST_Translate

    Improve ST_Translate

    Could you add one signature for ST_Translate which considered the z values like in Postgis (http://postgis.org/docs/ST_Translate.html)?

    GEOMETRY ST_Translate(GEOMETRY geom, double x, double y, double z);
    

    For example:

    SELECT ST_Translate('POLYGON(( 0 0 0, 3 0 0, 3 5 0, 0 5 0 , 0 0 0))', 2, 1, 1);
    -- Answer: POLYGON((2 1 1, 5 1 1, 5 6 1, 2 6 1, 2 1 1))
    
    opened by mlecoeuvre 25
  • Add

    Add "create" functions

    The following functions from the GDMS create package must be added to H2GIS:

    • ST_AddVertex
    • ST_BoundingCircle
    • ST_CreateGrid
    • ST_CreatePointsGrid
    • ST_CreateWebGrid
    • ST_Densify
    • ST_Expand
    • ST_Extrude
    • ST_MakeEllipse
    • ST_MakeEnvelope
    • ST_MakeLine
    • ST_MakePoint
    • ST_MinimumDiameter
    • ST_MinimumRectangle
    • ST_OctogonalEnvelope
    • ST_RandomGeometry
    • ST_RemoveDuplicateCoordinate

    If you decide to work on this, please specify in the comments which functions you plan to implement.

    opened by agouge 20
  • Improve SHPRead function ?

    Improve SHPRead function ?

    It would be nice if the SHPRead function returns a ValueResulSet as CSVRead function. So the user will be able to do something like

    SELECT SUM(ST_AREA(THE_GEOM)) AS total from (SELECT * FROM SHPREAD('/tmp/myFile.shp')) GROUP BY CODE_INSEE;

    It is closer to the SQL syntax than "CALL SHPRead".

    enhancement question Doc 
    opened by ebocher 17
  • Geometry memory limitation with H2 2.0.206

    Geometry memory limitation with H2 2.0.206

    H2 fails when a large geometry must be stored.

    Here the command, I run to build a delaunay triangulation that works on the last H2GIS release 1.5.0.

    CALL GEOJSONREAD('/tmp/contourlines.geojson', 'contourlines');
    DROP TABLE IF EXISTS contour_tin;
    CREATE TABLE contour_tin AS  SELECT ST_DELAUNAY(ST_ACCUM(ST_UpdateZ(ST_FORCE3D(the_geom), Z))) as the_geom from contourlines;
    

    returns

    Caused by: java.sql.SQLException: GeneralError
    	at org.h2.message.DbException.convert(DbException.java:419)
    	at org.h2.mvstore.db.MVTable.addRow(MVTable.java:543)
    	at org.h2.command.dml.Insert.addRow(Insert.java:234)
    	at org.h2.command.query.Query.finishResult(Query.java:944)
    	at org.h2.command.query.Select.queryWithoutCache(Select.java:851)
    	at org.h2.command.query.Query.queryWithoutCacheLazyCheck(Query.java:197)
    	at org.h2.command.query.Query.query(Query.java:494)
    	at org.h2.command.dml.Insert.insertRows(Insert.java:197)
    	at org.h2.command.dml.Insert.update(Insert.java:135)
    	at org.h2.command.dml.DataChangeStatement.update(DataChangeStatement.java:61)
    	at org.h2.command.ddl.CreateTable.update(CreateTable.java:172)
    	at org.h2.command.CommandContainer.update(CommandContainer.java:173)
    	at org.h2.command.CommandList.executeRemaining(CommandList.java:58)
    	at org.h2.command.CommandList.update(CommandList.java:66)
    	at org.h2.command.Command.executeUpdate(Command.java:252)
    

    A workaround is to explode on the fly the geometry generated by the triangulation.

    DROP TABLE IF EXISTS contour_tin;
    CREATE TABLE contour_tin AS  SELECT * FROM ST_EXPLODE('(SELECT ST_DELAUNAY(ST_ACCUM(ST_UpdateZ(ST_FORCE3D(the_geom), Z))) as the_geom from contourlines)');
    

    The input file contourlines is attached and the result triangulation too (30282 triangles).

    data.tar.gz

    Priority Critical 
    opened by ebocher 16
  • ST_ISOVIST

    ST_ISOVIST

    Compute the visibility polygon for a given point. See https://en.wikipedia.org/wiki/Isovist and a nice tuto on PostGIS https://abelvm.github.io/sql/isovists/

    Signatures

    ST_ISOVIST(point, geometry[], radius)
    POINT :  the given point
    geometry[] a collection of geometry
    radius = distance to compute the isovist
    
    ST_ISOVIST(point, geometry[], radius, fov)
    POINT :  the given point
    geometry[] a collection of geometry
    radius = distance to compute the isovist
    fov =field of view in degrees (eg  0 - 180 or 180 -210 ...)
    
    enhancement 
    opened by ebocher 14
  • ST_Intersects takes too long time

    ST_Intersects takes too long time

    I'm using the last realease of OrbisGIS.

    I'm trying to select buildings from the departement 56 (table "BATI_INDIFFERENCIE") which intersects the agglomeration of Vannes.

    So I created a unique polygon that represent my study area (table STUDY). Then I created spatial indexes on both tables.

    Now, I execute the following SQL instruction

    DROP TABLE IF EXISTS TOTO;
    CREATE TABLE TOTO AS SELECT a.* 
        FROM BATI_INDIFFERENCIE a, STUDY b 
    WHERE a.THE_GEOM && b.THE_GEOM and ST_INTERSECTS(a.THE_GEOM, b.THE_GEOM);
    

    The process is really too long (no result after 5mn).

    I tried with or without spatial index on both tables, but the result is the same

    @ebocher @nicolas-f

    opened by gpetit 14
  • Module names

    Module names

    According #740, H2GIS modules have been reorganized.

    • rename the h2gis artifact id to h2gis-parent,
    • rename h2gis-functions artifact id to h2gis and h2gis-functions-osgi to h2gis-osgi
    • remove h2gis-ext and h2gis-ext-osgi
    • update the readme
    • remove h2gis-network. It must be in a separate repository.
    opened by ebocher 13
  • ST_D8FlowAccumulation

    ST_D8FlowAccumulation

    Implement the D8 flow accumulation algorithm.

    http://help.arcgis.com/EN/arcgisdesktop/10.0/help/index.html#/How_Flow_Accumulation_works/009z00000062000000/

    The input data of the D8 flow accumulation algorithm is a D8 flow direction raster (#573).

    • JAI operator
    ParameterBlock p = new ParameterBlock();
    p.addSource(geoRaster);
     // Run the new operator.
     RenderedOp output = JAI.create("D8FlowAccumulation", p);
    
    • SQL function

    The ST_D8FlowAccumulation will have the following signature.

    
    ST_D8FlowAccumulation(RASTER::TYPE) -> return a new raster with the computed accumulation.
    
    
    Raster Priority Critical 
    opened by ebocher 13
  • Flatgeobuffer driver

    Flatgeobuffer driver

    This PR proposes to implement a Flatgeobuffer encoding format as decribed in https://flatgeobuf.org/.

    This PR is under active development. Feel free to comment or contribute.

    #1211

    @nicolas-f

    opened by ebocher 1
  • Add ST_Project

    Add ST_Project

    It would be useful if H2GIS had ST_Project(geography g1, float distance, float azimuth); to do the following: Returns a point projected from a start point along a geodesic using a given distance and azimuth (bearing). This is known as the direct geodesic problem.

    See https://postgis.net/docs/ST_Project.html for more details.

    opened by dVeon-loch 1
  • SHPWrite with empty geom

    SHPWrite with empty geom

    Hi,

    I'm using NoiseModelling v4.0.0 in with H2GIS 2.1

    <jts-io-version>1.18.2</jts-io-version>
    <h2-version>2.1.210</h2-version>
    <h2gis-version>2.1.0-SNAPSHOT</h2gis-version>
    <cts-version>1.6.0</cts-version>
    

    I have a table of buildings (coming from OSM BBBike), in which there is

    • 187 geom
    • 6 empty geom (detected with ST_IsEmpty)

    buildings_dbeaver

    When I export this table into SHP, I have a problem : starting from the first empty geom, all the building geometries becomes empty

    CALL SHPWRITE ('/home/gpetit/BUILDINGS.shp','BUILDINGS')
    

    I can open the shp in QGIS, but all the "empty" geometry are not visible on the map (below, only the 9 yellow selected buildings are visible - the rest are well listed, with all their attributes in the table)

    buildings_qgis

    In parallel, if I try to load the shp into the H2GIS db,

    CALL SHPREAD ('/home/gpetit/BUILDINGS.shp','BUILDINGS2')
    

    It returns

    SQL Error: INSERT INTO BUILDINGS2 VALUES (?, ?, ?, ? )
    Index 0 out of bounds for length 0; SQL statement:
    CALL SHPREAD ('/home/gpetit/BUILDINGS.shp','BUILDINGS2') [0-210]
    
    bug Help wanted 
    opened by gpetit 1
  • Implement Function

    Implement Function "ST_CLUSTERKMEANS"

    As a dev I want to use Function "ST_CLUSTERKMEANS" in my integration tests. Are there any plans for extending h2gis with some clusters functions?

    Help wanted 
    opened by tomaszburdka-tomtom 0
Releases(v2.1.0)
  • v2.1.0(Jul 19, 2022)

    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
    Source code(tar.gz)
    Source code(zip)
    h2gis-dist-2.1.0-bin.zip(8.76 MB)
  • v2.0.0(Jan 26, 2022)

    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
    Source code(tar.gz)
    Source code(zip)
    h2gis-dist-2.0.0-bin.zip(7.93 MB)
  • v1.5.0(Mar 18, 2019)

    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

    Source code(tar.gz)
    Source code(zip)
    h2gis-dist-1.5.0-bin.zip(6.82 MB)
  • v1.4.0(May 2, 2018)

    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
    Source code(tar.gz)
    Source code(zip)
    h2gis-dist-1.4.0-bin.zip(7.34 MB)
  • v1.3.2(Oct 4, 2017)

    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"
    Source code(tar.gz)
    Source code(zip)
    h2gis-dist-1.3.2-bin.zip(7.32 MB)
  • v1.3.1(Mar 28, 2017)

    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
    Source code(tar.gz)
    Source code(zip)
    h2gis-dist-1.3.1-bin.zip(7.28 MB)
  • v1.3.0(Jun 2, 2016)

    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.

    Source code(tar.gz)
    Source code(zip)
    h2gis-dist-1.3.0-bin.zip(7.14 MB)
  • v1.2.4(May 25, 2016)

    • 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.
    Source code(tar.gz)
    Source code(zip)
  • v1.2.3(Sep 18, 2015)

    • Fix DBF decimal operator overflow error.
    • Fix URI storage error when importing database from other operating system (Windows/Linux) Thanks to @bedla for providing the patch #556
    • Range index support on system column GID for FileDrivers
    • GeoJSON support for mixed geometry types. Thanks for @AngryGamy for reporting the issue #548
    • Add ST_GeomFromGML
    • Add ST_GeomFromGeoJSON
    • Add ST_OSMMapLink
    • Add ST_GoogleMapLink
    • Add ST_AsGML
    • Add ST_GeomFromWKB
    • Upgrade H2 database from version 1.4.186 to version 1.4.188
    Source code(tar.gz)
    Source code(zip)
    h2-dist-1.2.3-bin.zip(6.94 MB)
  • v1.2.2(May 29, 2015)

  • v1.1.1(Jan 22, 2015)

    H2GIS version 1.1.1 use H2 version 1.3.176

    Change log

    • OpenStreetMap import functions. Read large OpenStreetMap .osm or .osm.bz2 and convert lossless to database tables.
    • autoincrement primary key column is added for linked/imported files

    New Function list:

    • ST_OSMDownloader
    • ST_ProjectPoint
    • ST_OffSetCurve
    • ST_ShortestPathTree
    • ST_LineIntersector
    • OSMRead
    • ST_CollectExtract
    • DoubleRange
    • IntegerRange
    • ST_SideBuffer
    • ST_RingSideBuffer
    Source code(tar.gz)
    Source code(zip)
    h2gis-dist-1.1.1.zip(5.83 MB)
  • v1.1.0(Oct 14, 2014)

    H2GIS version 1.1.0 use H2 version 1.3.176

    Change log

    • Handle GeoJSON format
    • Handle GPX format
    • Handle KML format
    • Fix DBFReader with more file encoding
    • Fix CTS issues with mutable Geometry
    • H2 Network functions

    New Function list:

    • GPXRead
    • GeoJsonRead
    • GeoJsonWrite
    • KMLWrite
    • ST_3DLength
    • ST_AddPoint
    • ST_AddZ
    • ST_AsGeoJSON
    • ST_AsKml
    • ST_BoundingCircle
    • ST_ClosestCoordinate
    • ST_ClosestPoint
    • ST_CompactnessRatio
    • ST_ConstrainedDelaunay
    • ST_Covers
    • ST_DWithin
    • ST_Delaunay
    • ST_Densify
    • ST_Expand
    • ST_Explode
    • ST_Extent
    • ST_Extrude
    • ST_FurthestCoordinate
    • ST_Holes
    • ST_Interpolate3DLine
    • ST_IsRectangle
    • ST_IsValid
    • ST_LocateAlong
    • ST_MakeEllipse
    • ST_MakeEnvelope
    • ST_MakeGrid
    • ST_MakeGridPoints
    • ST_MakeLine
    • ST_MakePoint
    • ST_MinimumRectangle
    • ST_MultiplyZ
    • ST_Normalize
    • ST_OctogonalEnvelope
    • ST_Polygonize
    • ST_PrecisionReducer
    • ST_RemoveHoles
    • ST_RemovePoint
    • ST_RemoveRepeatedPoints
    • ST_Reverse
    • ST_Reverse3DLine
    • ST_Rotate
    • ST_Scale
    • ST_Simplify
    • ST_SimplifyPreserveTopology
    • ST_Snap
    • ST_Split
    • ST_ToMultiLine
    • ST_ToMultiPoint
    • ST_ToMultiSegments
    • ST_Translate
    • ST_TriangleAspect
    • ST_TriangleContouring
    • ST_TriangleDirection
    • ST_TriangleSlope
    • ST_UpdateZ
    • ST_XMax
    • ST_XMin
    • ST_YMax
    • ST_YMin
    • ST_ZMax
    • ST_ZMin
    • ST_ZUpdateLineExtremities
    • ST_MinimumDiameter
    • ST_RingBuffer
    • ST_Force2D
    • ST_Force3D
    • ST_Azimuth
    • ST_MakePolygon
    • ST_IsValidReason
    • ST_IsValidDetail
    • ST_Accessibility
    • ST_ConnectedComponents
    • ST_Graph
    • ST_GraphAnalysis
    • ST_ShortestPath
    • ST_ShortestPathLength
    Source code(tar.gz)
    Source code(zip)
    h2-dist-1.1.0-bin.zip(5.45 MB)
Owner
OrbisGIS
A GIS platform and components developed by the CNRS
OrbisGIS
Extension module to properly support datatypes of javax.money

Jackson Datatype Money Jackson Datatype Money is a Jackson module to support JSON serialization and deserialization of JavaMoney data types. It fills

Zalando SE 217 Jan 2, 2023
Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns (EIP)

Spring Integration Code of Conduct Please see our Code of conduct. Reporting Security Vulnerabilities Please see our Security policy. Checking out and

Spring 1.4k Dec 30, 2022
Copy as XMLHttpRequest BurpSuite extension

Copy as XMLHttpRequest BurpSuite extension The extension adds a context menu to BurpSuite that allows you to copy multiple requests as Javascript's Xm

Alexey Pronin 30 Dec 25, 2022
An MIT AI2 extension to allows developers to show media style notifications for their applications.

Media Notifications An MIT AI2 extension to allows developers to show media style notifications for their applications.

Shreyash Saitwal 5 Jan 7, 2023
Terminal UI JMX (Java management extension) viewer

JMXViewer Terminal UI JMX (Java management extension) viewer Usage java -jar jmxviewer.jar [pid] The PID is optional. If it is not provided, the appli

Ivan Yurchenko 20 Sep 15, 2022
fabric-carpet extension mod which attempts to fix as many vanilla bugs as possible. Feel free to add as many fixes as you want!

Carpet-Fixes Fabric Carpet extension mod which attempts to fix as many vanilla bugs as possible! Feel free to contribute by adding as many fixes as yo

Fx Morin 90 Jan 6, 2023
Burp Extension for BFAC (Advanced Backup-File Artifacts Testing for Web-Applications)

BFAC - Burp Extension Burp Extension for BFAC (Advanced Backup-File Artifacts Testing for Web-Applications). What is BFAC - Burp Extension ? Backup fi

SEC-IT 18 Jul 16, 2022
Quarkus Couchbase Extension

Quarkus Couchbase Extension Integrates Couchbase into Quarkus. This extension is currently in alpha status. It supports: Dependency injecting a Couchb

Couchbase Labs 7 May 10, 2022
A Minestom extension that opens the port that the Minestom server is running on!

OpenPortStom A project that uses weupnp to forward the port for you when starting your server, it will also attempt to close the port. Yes this is a s

null 4 Apr 24, 2022
Introduction to CYS4-SensitiveDiscoverer, a Burp extension that discovers sensitive information inside HTTP messages.

CYS4-SensitiveDiscoverer Introduction Burp Suite is a useful tool used to do web application security testing. While Burp Suite provides a lot of func

CYS4srl 10 Nov 16, 2022
Examples and HowTos for BouncyCastle and Java Cryptography Extension (JCE)

CryptographicUtilities Examples and HowTos for BouncyCastle and Java Cryptography Extension (JCE) See class "/src/main/java/de/soderer/utilities/crypt

null 1 Dec 19, 2021
This extension identifies hidden, unlinked parameters. It's particularly useful for finding web cache poisoning vulnerabilities.

param-miner This extension identifies hidden, unlinked parameters. It's particularly useful for finding web cache poisoning vulnerabilities. It combin

Intruder 9 Jan 27, 2022
Burp Active Scan extension to identify Log4j vulnerabilities CVE-2021-44228 and CVE-2021-45046

Log4j-HammerTime This Burp Suite Active Scanner extension validates exploitation of the Apache Log4j CVE-2021-44228 and CVE-2021-45046 vulnerabilities

DXC Technology - StrikeForce 8 Jan 8, 2022
Google Gmail Extension

Google Gmail Extension Extension Name: Google Gmail Description: A Non-Visible component that helps you to send mail from your App Inventor App using

Preet P. Vadaliya 1 Jan 20, 2022
☁️ Simple Extension for SuperiorSkyblock2 plugin. After creating the island, a custom mob will spawn.

☁️ Simple Extension for SuperiorSkyblock2 plugin. After creating the island, a custom mob will spawn.

Norbert Dejlich 1 Mar 10, 2022
OAUTHScan is a Burp Suite Extension written in Java with the aim to provide some automatic security checks

OAUTHScan is a Burp Suite Extension written in Java with the aim to provide some automatic security checks, which could be useful during penetration testing on applications implementing OAUTHv2 and OpenID standards.

Maurizio S 163 Nov 29, 2022
hybris redirect extension

hybris redirect extension This extension adding redirect functionalty to SAP CX Commerce (hybris). Motivation Sometimes we need to remove page, catego

Mustafa Kerim Yılmaz 2 Aug 2, 2022
Community extension to generate a Java client from the provided Camunda 7 OpenAPI descitpion and also warp it into Spring Boot

Camunda Engine OpenAPI REST Client Java and Spring Boot This community extension is a convenience wrapper around the generated Java client from the Ca

Camunda Community Hub 29 Dec 28, 2022
A program diffing extension for Ghidra.

Dragon Fang A program diffing extension for Ghidra. Dragon Fang attempts to map corresponding functions present in two versions of the same binary app

John F.X. Galea 8 Jul 24, 2022