What is it?
It can connect to WMS/WMTS/TMS servers including elevation data and load many different data formats (3dTiles, GPX, KML and much much more).
API documentation and examples
How to use Itowns in your project
You can use it through npm (the preferred way) or download a bundle from our github release page.
In your project:
npm install --save itowns
This package contains the ES5-compatible sources of Itowns.
If you're using a module bundler (like wepback), you can directly
require('itowns') in your code.
Alternatively, we provide a bundle you can directly include in your html files that exposes
/!\ Please note that this bundle also contains the dependencies.
From a release bundle
See our release page.
Supported data types and features
- Imagery from WMTS/WMS/TMS
- Elevation (DTM/DSM) from WMTS
- 3D Tiles
See the feature list wiki page for a complet list of features and data formats.
If you want to run tests you'll need to install puppeteer.
If you install pupperter behind proxy, use HTTP_PROXY, HTTPS_PROXY, NO_PROXY to defines HTTP proxy settings that are used to download and run Chromium.
If puppeteer fails to download Chrome, you can try with the documented environment variables. Or you can download it manually, and then:
- install puppeteer without downloading Chrome:
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=1 npm install puppeteer
- then use the env var
CHROMEto tell itowns/mocha/puppeteer what Chrome app it should use:
CHROME=/opt/google/chrome-beta/chrome npm run test-examples
Then you can run the tests:
npm run test-examples
Supported environment variables:
* SCREENSHOT_FOLDER: take a screenshot at the end of each test and save it in this folder. Example: SCREENSHOT_FOLDER=/tmp/ * CHROME: path to Chrome executable. If unspecified itowns will use the one downloaded during puppeteer install. * DEBUG: run Chrome in a window with the debug tools open. * REMOTE_DEBUGGING: run Chrome in headless mode and set up remote debugging. Example: REMOTE_DEBUGGING=9222 will setup remote debugging on port 9222. Then start another Chrome instance, browse to chrome://inspect/#devices and add localhost:9222 in Discover network targets.
Note: Chrome in headless mode doesn't support the WebGL EXT_frag_depth extension. So rendering may differ and some bugs can only be present in headless mode.
iTowns is dual-licenced under Cecill-B V1.0 and MIT. Incorporated libraries are published under their original licences.
See LICENSE.md for more information.
iTowns has been redesigned from this early version.
iTowns is an original work from French IGN, MATIS research laboratory. It has been funded through various research programs involving the French National Research Agency, Cap Digital, UPMC, Mines ParisTec, CNRS, LCPC.