Examind Community makes it possible to easily create a complete Spatial Data Infrastructure, from cataloging geographic resources to operate a platform of sensors that feeds back information in real time.
Available OGC web services
- WMS : 1.1.1 and 1.3.0 (INSPIRE-compliant)
- WMTS : 1.0.0
- CSW : 2.0.0, 2.0.2 and 3.0.0 (INSPIRE-compliant)
- SOS : 1.0.0 and 2.0.0 (need PostGIS database)
- WFS : 1.1.0 and 2.0.0 (INSPIRE-compliant)
- WPS : 1.0.0
- WCS : 1.0.0
Available OGC API
- Coverages (link) : Part 1 - Core
- Styles (link) : Part 1 - Core
- Common (link) : Part 1 - Core | Part 2 - Collections
- Vector :
- Shapefiles
- GeoJSON
- KML
- GPX
- GML
- CSV (with geometry in WKT)
- MapInfo MIF/MID format
- PostGIS database
- Raster :
- Geotiff
- NetCDF/NetCDF+NCML
- Grib
- Images with .tfw and .prj files for projection and transformation informations
- 1.0.23 is the last stable version supporting java 8.
- Any version after that are based upon Java 17
git clone /~https://github.com/Geomatys/examind-community.git
cd examind-community
mvn install -DskipTests
Note 1 : for smaller download without git history: git clone --depth 1 /~https://github.com/Geomatys/examind-community.git
Note 2 : if you want to build with tests, an in-memory HSQL database will be created, however if you want to use a PostgreSQL database, you'll need an empty database. then execute the following command:
mvn clean install -Dtest.database.url="postgres://<user>:<password>@<host>:<port>/<database name>"
example: postgres://cstl:admin@localhost:5432/cstl-test
If you want to use S3 storage system client in the project, run this command before all others :
mvn install -pl :exa-s3-bundle
You must also set an environement variable with the AWS region where the buckets you want to use are located. Currently only one region can be available at the same time. This will be fixed in the future.
aws.region : eu-central-1
When building the project, add the docker
profile to also compile docker image.
This will produce a Tomcat based image of Examind-Community application. The resulting image will be images.geomatys.com/examind/examind-community:latest
.
Tip: you can customize the docker tag of the image by specifying the docker.tag
property.
Example: Build the project and the docker image, setting the image tag to myVersion
:
mvn install -Pdocker -Ddocker.tag=myVersion
Tip: If you've already compiled the project, and just want to rebuild docker image, you can reduce work by re-packaging the exa-bundle
module with docker
profile:
mvn package -Pdocker -pl :exa-bundle
Go to docker folder
cd <base directory>/docker
then type the command
./run.sh
or
docker-compose up -d
the web application will be available at http://localhost:8080/examind you can authenticate with user = admin and password = admin.
To run Examind, you'll need :
- JDK 17. Can be downloaded here for your platform.
- PostgreSQL 9.x (found here) with a database named
constellation
owned by role:passwordcstl:admin
- Apache Tomcat 7.0.47+ with support of websockets found here or
- Apache Tomcat 8.0.39+ with support of websockets found here
Create a setenv.sh executable file in bin/ folder of Tomcat with :
CATALINA_OPTS="$CATALINA_OPTS -Dfile.encoding=UTF8 -Xmx1024m -XX:MaxPermSize=128m -Dgeotk.image.cache.size=128m -XX:-HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./constellation.hprof $CSTL_OPTS -Dspring.profiles.active=standard"
JAVA_HOME=<PATH_TO_JDK>
JRE_HOME=<PATH_TO_JDK>/jre
On tomcat 8 add the following property
CATALINA_OPTS="$CATALINA_OPTS -Dorg.apache.catalina.core.ApplicationContext.GET_RESOURCE_REQUIRE_SLASH=true"
Tomcat startup :
<PATH_TO_TOMCAT>/bin/startup.sh
Tomcat shutdown :
<PATH_TO_TOMCAT>/bin/shutdown.sh
Browse http://localhost:8080/examind and authenticate with user admin
and password admin
.
Examind retrieve his configuration through various inputs using following priority :
- System environment variables following standard naming convention
- Startup options (
-Dproperty=value
) following standard java properties naming convention - External configuration file (referenced with
-Dcstl.config=/path/to/config.properties
option) - Default embedded configuration
For example, database configuration can be specified from environment variable DATABASE_URL
or startup/external property database.url
.
- database.url : application database URL in Hiroku like format. Default value
postgres://cstl:admin@localhost:5432/constellation
- epsg.database.url : EPSG database URL. Default value same as database.url
- test.database.url : testing database URL. Default value
postgres://test:test@localhost:5432/cstl-test
- cstl.config : Path to application external configuration properties file. Optional, default null.
- cstl.url : Examind application URL. Used by Examind to generate resources URLs.
- cstl.home : Application home directory, used by Examind to store logs, indexes, ... . By default, Examind will create a
.constellation
directory in current user home folder. - cstl.data : Application data directory, used by Examind to store integrated data and some configurations ... . By default, Examind will create a
data
directory relative tocstl.home
property.
SMTP server configuration (used to re-initialize user password) :
- cstl.mail.smtp.from : Default value
no-reply@localhost
- cstl.mail.smtp.host : Default value
localhost
- cstl.mail.smtp.port : Default value
25
- cstl.mail.smtp.username : Default value
no-reply@localhost
- cstl.mail.smtp.password : Default value
mypassword
- cstl.mail.smtp.ssl : Default value
false
It is recommended to use standard jdbc urls when specifying database url. A custom syntax is allowed, but not recommended anymore.
Examind use Git hooks to standardize commits message format.
rm .git/hooks/commit-msg
ln -s githook/* .git/hooks/