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
- 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
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/