Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



Semantic enhancement of Earth Observation data

iTag is a web service for the semantic enhancement of Earth Observation products, i.e. the tagging of products with additional information about the covered area, regarding for example geology, water bodies, land use, population, countries, administrative units or names of major settlements.

See [video capture of itag applied to Pleiades HR and Spot5 images database] (

Test the service online

For official support to itag, please contact jeobrowser


The API is available here

Installation (iTag service)


iTag installation and deployment is based on docker-compose. It can run on any OS as long as the following software are up and running:

  • bash
  • psql client
  • docker engine
  • docker-compose

Building and deploying

On first launch, run the following script:

(for production)

    ./deploy prod

(for development)

    ./deploy dev


All configuration options are defined within the config.env file.

For a local installation, you can leave it untouched. Otherwise, just make your own configuration. It's self explanatory (send me an email if not ;)

Note that each time you change the configuration file, you should undeploy then redeploy the service.

Database initialization

Note: By default, iTag will create a local postgres docker image. However, it can also uses an external PostgreSQL database (version 11+).

On first deployment, the database is empty. It should be populated once with the following command :



Note: The following example are based on the default service endpoint defined in (cf. config.env)

Tag a geometry on Toulouse with "Political" information and all cities with a pretty GeoJSON output

curl "http://localhost:1212/?taggers=political&_pretty=true&geometry=POLYGON((1.350360%2043.532822,1.350360%2043.668522,1.515350%2043.668522,1.515350%2043.532822,1.350360%2043.532822))"

Tag geometry intersecting France, Italy and Switzerland with "Political,Geology,Hydrology,Physical" information.

curl "http://localhost:1212/?taggers=political,geology,hydrology,physical&geometry=POLYGON((6.487426757812523%2045.76081241294796,6.487426757812523%2046.06798615804025,7.80578613281244%2046.06798615804025,7.80578613281244%2045.76081241294796,6.487426757812523%2045.76081241294796))"

Tag geometry intersecting Chile for physical and geology info

curl "http://localhost:1212/?taggers=geology,physical&geometry=POLYGON((-74.39875248739082 -46.84194418662555,-72.14655522176582 -46.84194418662555,-72.14655522176582 -48.19957231818611,-74.39875248739082 -48.19957231818611,-74.39875248739082 -46.84194418662555))&_pretty=1"


How do i undeploy the service ?


How do i check the logs of a running itag container ?

Use docker-compose, e.g.:

    docker-compose logs -f

How to i build locally the docker images

Use docker-compose:

    # This will build the application server image (i.e. jjrom/itag)
    docker-compose -f docker-compose.yml build

    # This will build the database server image (i.e. jjrom/itag-database)
    docker-compose -f docker-compose-itagdb.yml build

Where is the configuration of a running itag container ?

When deployed, all configurations file are stored under .run/config directory

Why do i have empty result for landcover and population ?

The Landcover and Population data are available separately from this repository. If you need this data, send an email to