All Projects → orbisgis → H2gis

orbisgis / H2gis

Licence: lgpl-3.0
A spatial extension of the H2 database.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to H2gis

Doctrine Postgis
Spatial and Geographic Data with PostGIS and Doctrine.
Stars: ✭ 161 (+5.92%)
Mutual labels:  database, spatial
Tera
An Internet-Scale Database.
Stars: ✭ 1,846 (+1114.47%)
Mutual labels:  database
Faker Elixir
💧 FakerElixir generates fake data for you.
Stars: ✭ 147 (-3.29%)
Mutual labels:  database
Data
Fast DB-independent DAL for .NET Core: abstract queries, SQL commands builder, schema-less data access, POCO mapping (micro-ORM).
Stars: ✭ 150 (-1.32%)
Mutual labels:  database
Sqlitestudio
A free, open source, multi-platform SQLite database manager.
Stars: ✭ 2,337 (+1437.5%)
Mutual labels:  database
Interview
Android、Java程序员面试资源总结,涉及Java、Android、网络、操作系统、算法等
Stars: ✭ 150 (-1.32%)
Mutual labels:  database
Datanymizer
Powerful database anonymizer with flexible rules. Written in Rust.
Stars: ✭ 147 (-3.29%)
Mutual labels:  database
Ebooks
A repository for ebooks, including C, C plus plus, Linux Kernel, Compiler, OS, Algorithm, Security, Database, Network, ML and DL
Stars: ✭ 151 (-0.66%)
Mutual labels:  database
Landscapemetrics
Landscape Metrics for Categorical Map Patterns 🗺️ in R
Stars: ✭ 151 (-0.66%)
Mutual labels:  spatial
Relaxo
Relaxo is a transactional document database built on top of git.
Stars: ✭ 149 (-1.97%)
Mutual labels:  database
Etcd Cloud Operator
Deploying and managing production-grade etcd clusters on cloud providers: failure recovery, disaster recovery, backups and resizing.
Stars: ✭ 149 (-1.97%)
Mutual labels:  database
Doobie
Functional JDBC layer for Scala.
Stars: ✭ 1,910 (+1156.58%)
Mutual labels:  database
Spark With Python
Fundamentals of Spark with Python (using PySpark), code examples
Stars: ✭ 150 (-1.32%)
Mutual labels:  database
Openmicroscopy
OME (Open Microscopy Environment) develops open-source software and data format standards for the storage and manipulation of biological light microscopy data. A joint project between universities, research establishments and industry in Europe and the USA, OME has over 20 active researchers with strong links to the microscopy community. Funded by private and public research grants, OME has been a major force on the international microscopy stage since 2000.
Stars: ✭ 148 (-2.63%)
Mutual labels:  database
Slimdump
A tool for creating configurable dumps of large MySQL-databases.
Stars: ✭ 151 (-0.66%)
Mutual labels:  database
Graphql Genie
Simply pass in your GraphQL type defintions and get a fully featured GraphQL API with referential integrity, inverse updates, subscriptions and role based access control that can be used client side or server side.
Stars: ✭ 147 (-3.29%)
Mutual labels:  database
Bicing Api
Get statistics and locations of bicycle stations through REST API
Stars: ✭ 149 (-1.97%)
Mutual labels:  database
Deno Sqlite
Deno SQLite module
Stars: ✭ 151 (-0.66%)
Mutual labels:  database
Immudb
immudb - world’s fastest immutable database, built on a zero trust model
Stars: ✭ 3,743 (+2362.5%)
Mutual labels:  database
Bats
面向 OLTP、OLAP、批处理、流处理场景的大一统 SQL 引擎
Stars: ✭ 152 (+0%)
Mutual labels:  database

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].