{"id":15031145,"url":"https://github.com/itowns/itowns","last_synced_at":"2025-05-13T23:04:04.191Z","repository":{"id":37431375,"uuid":"43068275","full_name":"iTowns/itowns","owner":"iTowns","description":"A Three.js-based framework written in Javascript/WebGL for visualizing 3D geospatial data","archived":false,"fork":false,"pushed_at":"2025-04-24T08:54:11.000Z","size":82650,"stargazers_count":1146,"open_issues_count":232,"forks_count":305,"subscribers_count":62,"default_branch":"master","last_synced_at":"2025-04-28T03:03:40.964Z","etag":null,"topics":["3d","gis","globe","immersion-vr","itowns","javascript","pointcloud","vector-tiles","visualization","webgl","webmapping","wfs","wms"],"latest_commit_sha":null,"homepage":"http://www.itowns-project.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iTowns.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":"publiccode.yml","codemeta":null}},"created_at":"2015-09-24T13:24:26.000Z","updated_at":"2025-04-22T20:09:18.000Z","dependencies_parsed_at":"2023-10-16T21:11:08.870Z","dependency_job_id":"a8aa52f4-a64b-4681-a883-de11751af92a","html_url":"https://github.com/iTowns/itowns","commit_stats":{"total_commits":2932,"total_committers":69,"mean_commits":"42.492753623188406","dds":0.5709413369713506,"last_synced_commit":"f602ac739412df51df50c8dea7c0d23ad69618be"},"previous_names":[],"tags_count":67,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTowns%2Fitowns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTowns%2Fitowns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTowns%2Fitowns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iTowns%2Fitowns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iTowns","download_url":"https://codeload.github.com/iTowns/itowns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251559215,"owners_count":21608968,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3d","gis","globe","immersion-vr","itowns","javascript","pointcloud","vector-tiles","visualization","webgl","webmapping","wfs","wms"],"created_at":"2024-09-24T20:14:59.156Z","updated_at":"2025-04-29T18:29:12.482Z","avatar_url":"https://github.com/iTowns.png","language":"JavaScript","readme":"![iTowns](https://raw.githubusercontent.com/iTowns/itowns.github.io/master/images/itowns_logo_300x134.png)\n# iTowns\n\n[![Coverage Status](https://coveralls.io/repos/github/iTowns/itowns/badge.svg?branch=master)](https://coveralls.io/github/iTowns/itowns?branch=master)\n[![example branch parameter](https://github.com/iTowns/itowns/actions/workflows/integration.yml/badge.svg?query=branch%3Amaster)](https://github.com/iTowns/itowns/actions/workflows/integration.yml?query=branch%3Amaster)\n[![DeepScan grade](https://deepscan.io/api/teams/2856/projects/10991/branches/159107/badge/grade.svg)](https://deepscan.io/dashboard#view=project\u0026tid=2856\u0026pid=10991\u0026bid=159107)\n[![Discord](https://img.shields.io/discord/1024249405634781244)](https://discord.gg/YueemZcEvw)\n\n## What is it?\n\niTowns is a [Three.js](https://threejs.org/)-based framework written in\nJavascript/WebGL for visualizing 3D geospatial data.\n\nIt can connect to WMS/WMTS/TMS servers including elevation data and load many\ndifferent data formats (3dTiles, GeoJSON, Vector Tiles, GPX and much more). A\ncomplete list of features and supported data formats is [available on the\nwiki](https://github.com/iTowns/itowns/wiki/Supported-Features).\n\nIt officially targets the last two major versions of both Firefox, Safari and\nChromium-based browsers (Chrome, Edge, ...) at the date of each release. Older\nbrowsers supporting WebGL 2.0 may work but we do not offer support.\n\n![iTowns screenshot](https://raw.githubusercontent.com/iTowns/itowns.github.io/master/images/itownsReleaseXS.jpg)\n\n## Documentation and examples\n\nThe official documentation is [available\nhere](http://www.itowns-project.org/itowns/docs/). It contains tutorials to help\nyou start using iTowns, and an API reference. You can find more informations on\nits contribution [here](docs/README.md).\n\nOfficial examples can be [viewed\nhere](http://www.itowns-project.org/itowns/examples/). Some examples available:\n\n* [Globe with WFS data](http://www.itowns-project.org/itowns/examples/#source_stream_wfs_3d)\n* [Plane mode with Vector Tiles](http://www.itowns-project.org/itowns/examples/#vector_tile_raster_2d)\n* [3D effect using scene postprocessing](http://www.itowns-project.org/itowns/examples/#effects_stereo)\n* [Globe with split rendering](http://www.itowns-project.org/itowns/examples/#effects_split)\n\n[![iTowns examples](http://www.itowns-project.org/images/montage.jpg)](http://www.itowns-project.org/itowns/examples/)\n\n## How to run it locally?\n\nClone the repo and then run:\n\n```\nnpm install\nnpm start\n```\n\nTry out the examples at http://localhost:8080/examples\n\n## How to use it in your project?\n\nYou can use it through npm (the preferred way) or download a bundle from our\ngithub release page.\n\n### With npm\n\nIn your project:\n\nTo use all iTowns features, install `itowns` package :\n\n```bash\nnpm install --save itowns\n```\n\n```js\nimport { Coordinates } from 'itowns';\n\nconst coordinates = new Coordinates('EPSG:4326', 88., 50.3, 120.3);\n\n// change projection system to pseudo mercator\ncoordinates.as('EPSG:3857');\n```\n\nTo import Widget features\n\n```js\nimport { Navigation } from 'itowns/widgets';\n\nconst viewerDiv = document.getElementById('viewerDiv');\n\n// Create a GlobeView\nconst view = new itowns.GlobeView(viewerDiv);\n\n// Add navigation widget\nconst navigation = new Navigation(view, {\n    position: 'bottom-right',\n    translate: { y: -40 },\n});\n```\n\niTowns is currently moving to a monorepo organization and to a segmentation in sub-modules, allowing to import only some of itowns functionalities. Current itowns sub-modules are:\n- [@itowns/geographic](packages/Geographic/README.md): `npm install --save @itowns/geographic`\n\nThis package contains the ES5-compatible sources of iTowns, up to date with the latest release.\n\nIf you're using a module bundler (like wepback), you can directly write\n`require('itowns')` in your code.\n\nAlternatively, we provide a bundle you can directly include in your html files\nthat exposes `itowns` in `window`:\n\n```html\n\u003cscript src=\"node_modules/itowns/dist/itowns.js\"\u003e\u003c/script\u003e\n```\n\n**/!\\ Please note that this bundle also contains the dependencies**.\n\n### From a release bundle\n\nSee our [release page](https://github.com/iTowns/itowns/releases). Note that\nthere isn't a lot of support for older version of iTowns, we highly recommend to\nuse the last release everytime.\n\n### Try modifications before they are released\n\nIf you want to try some features or bug fixes that are planned for the next release, we provide\na @next version of itowns. You can install it as such :\n\n```bash\nnpm install --save itowns@next\n```\n\nTo switch back to the version to date with the latest release, you need to run :\n\n```bash\nnpm install --save itowns@latest\n```\n\n## Contributing\n\nIf you are interested in contributing to iTowns, please read the [CONTRIBUTING\nguide](CONTRIBUTING.md) and the [CODING guide](CODING.md).\n\niTowns has been redesigned from this [early version](https://github.com/iTowns/itowns-legacy).\n\n## Licence\n\niTowns is dual-licenced under Cecill-B V1.0 and MIT.\nIncorporated libraries are published under their original licences.\n\nSee [LICENSE.md](LICENSE.md) for more information.\n\n## Maintainers\n\niTowns is an original work from French IGN, [MATIS research\nlaboratory](http://recherche.ign.fr/labos/matis/). It has been funded through\nvarious research programs involving the French National Research Agency, Cap\nDigital, UPMC, Mines ParisTec, CNRS, LCPC and maintained by several organizations\nalong the years (IGN, Oslandia, AtolCD, CIRIL Group). It has also received contributions from people [listed\nhere](CONTRIBUTORS.md).\n\niTowns is currently maintained by [IGN](http://www.ign.fr) and\n[CIRIL Group](https://www.cirilgroup.com/en/). \n\nContributions in any forms and new contributors and maintainers are welcome. Get in touch with us if you are interested :)\n\nThe governance of the project is open and explicited [here](https://github.com/iTowns/itowns-governance).\n\n[![IGN](./img/logo_ign.png)](https://www.ign.fr)\n[![CIRIL Group](./img/CIRIL_Group_logo.png)](https://www.cirilgroup.com/en/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitowns%2Fitowns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitowns%2Fitowns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitowns%2Fitowns/lists"}