Skip to content
/ Measur3D Public

A light and compact MERN application for the management of CityJSON city models

License

Notifications You must be signed in to change notification settings

GANys/Measur3D

Repository files navigation

Measur3D logo

Measur3D

A light and compact CityJSON management tool.

This tool is built as a high-level MERN application. It therefore allows developing with a single language in both server and client side. It does not rely on an operating system layer.

3D city models are structured following the CityJSON encoding, a JSON-based encoding for storing 3D city models, also called digital maquettes or digital twins. Thanks to MongooseJS, inserted models are validated in regard of CityJSON 1.0.1 specifications. These specifications define the city model schema used to structure the database (several modifications were however made to suit to document-oriented databases).

Prerequisites

A MongoDB server is mandatory. The choice between MongoDB Atlas, Community or Enterprise Server is left open.

Everything else is packaged in this repository and installed thanks to npm.

Installing

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Setup the project :

npm install

Compiles and minifies for production :

npm run build

Run a local host :

npm start

By default, the application is deployed on localhost:3000 .

Documentation

Documentations of the Measur3D API and the OGCAPIF can be found in the API-DOCS file (Open API 3.0).

Built With

  • MongoDB - A cross-platform document-oriented database
  • ExpressJS - A fast, unopinionated, minimalist web framework for Node.js
  • ReactJS - A JavaScript library for building user interfaces
  • Node.js - An open-source, cross-platform, JavaScript runtime environment
  • Three.js - A cross-browser JavaScript library to display 3D objects in web browser
  • Mongoose - An elegant mongodb object modeling for node.js

News in v0.3.0

The v0.3.0 of Measur3D came with several improvements :

  • Delete Object/Model from database and client
  • Visualisation: improved UI, highlight of selected object and support of holes in geometries
  • OGC API - Features compliant-ish (Thank to Hugo Ledoux for its insight and the CityJSONFeature object - cityjson_ogcapi)
  • GeometryInstance and GeometryTemplates support
  • Security layers: rateLimiter, cache, DDOS, ...
  • Swagger documentation (OpenAPI 3.0)

News in v0.2.0

Public release

Acknowledgments

The management of the 3D meshes is based on the Ninja viewer and its features. This tool is developed under the supervision of Hugo Ledoux by the GeoInformation research Group from TUDelft.

Authors

  • Gilles-Antoine Nys - Idea and development - Twitter

This project is part of the PhD Thesis of GANys under the supervision of Prof. Roland Billen - Geomatics Unit, University of Liège, Belgium. It is also part of the SIG3.0 project funded by the National Fund for Scientific Research, Belgium.

UGeom logo

License

This project is licensed under the Apache License - see the LICENSE.md file for details.

If you use Measur3D or the simplified database schema in a scientific context, please cite this article:

Nys G.-A. and Billen R. (2021). From consistency to flexibility: A simplified database schema for the management of CityJSON 3D city models. Transactions in GIS.

@article{nys_consistency_2021,
	title = {From consistency to flexibility: {A} simplified database schema for the management of {CityJSON} {3D} city models},
	doi = {10.1111/tgis.12807},
	urldate = {2021-08-16},
	journal = {Transactions in GIS},
	author = {Nys, Gilles-Antoine and Billen, Roland},
	month = jul,
	year = {2021},
}

About

A light and compact MERN application for the management of CityJSON city models

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages