https://github.com/52north/helgoland-toolbox
Collection of tools for a sensor observation based client
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.0%) to scientific vocabulary
Repository
Collection of tools for a sensor observation based client
Basic Info
- Host: GitHub
- Owner: 52North
- License: other
- Language: TypeScript
- Default Branch: develop
- Homepage: https://52north.github.io/helgoland-toolbox/
- Size: 30.9 MB
Statistics
- Stars: 14
- Watchers: 7
- Forks: 17
- Open Issues: 16
- Releases: 0
Metadata Files
README.md
helgoland-toolbox
tools for a sensor observation service based client
This project contains Angular based Modules, Components, Injectables to build a sensor observation service based client.
Description
Tools for Building Web Applications
Providing Reusable Components for Building (Sensor Web) Client Applications
52°North created the Helgoland Toolbox to facilitate the reuse of developments for Sensor Web client applications. It provides a range of modules that offer functionalities for building Web applications dealing with dynamic spatio-temporal data. The Helgoland Toolbox modules are used to build the 52°North Helgoland Sensor Web Viewer. Additional applications (e.g. the BelAir app, smle, or the developments resulting from the TaMIS project) are also built upon this library.
Features:
The most important functional modules comprise:
Core - Communication with the APIs (Helgoland API and OGC SensorThings API) - Important common services (local storage, time) - Central interfaces and abstract classes
Caching - Request Caching with Angular Interceptors
d3 - Trajectory Graph component - Time Series Graph component
Depiction - Legend entries - Table view of data
Map - Controls (Geo-Search, Locate, Zoom, Extent) - Map Selector component
Selectors - List Selector for observation data - Service Selector for data sources.
The work on the Helgoland Toolbox focused on improving Helgoland Toolbox’s support of the OGC SensorThings API standard. A dedicated layer to improve the abstraction of underlying data sources enables the Helgoland Sensor Web Viewer to consume data directly from OGC compliant SensorThings API instances as well as connect to the 52°North Helgoland API. Research covered experimenting on how to achieve the integration of access-controlled data sources and incorporation of near-real time data streams via MQTT. For this purpose, we developed a dedicated dashboard for visualizing research vessel tracking data based on our toolbox. This development was part of the EMODnet Ingestion 2 project.
Key Technologies:
- JavaScript
- TypeScript
- Angular
- Leaflet
- d3
- Open Layers
Benefits:
- Reusable components for building client applications
- Modules for visualizing different types of sensor data (time series, trajectories, profiles)
- Mapping modules
- Different components for data selection
Quick Start
Dependencies
Node/NPM
Install latest Node and NPM following the instructions. Make sure you have Node version ≥ 10 and NPM ≥ 6. brew install node for Mac.
Installing
forkthis repository.cloneyour fork to your local environment.npm installto install required dependencies.
Build the libraries
npm run lib:buildfor building the library once
Other commands
Lint the complete code
npm startwill start the test application, which provide views for the main modules and components- the app, and their corrensponding files can be found in the
srcfolder
See Documentation
- a module based documentation can be found here: https://52north.github.io/helgoland-toolbox/
- there is also a how to page with different use cases: https://52north.github.io/helgoland-toolbox/additional-documentation/how-tos.html
References
The software is in operational use by the following organizations or within the following projects. - Federal Maritime and Hydrographic Agency (BSH) - Wupperverband - SeaDataCloud - WaCoDiS - MuDak-WRM - mVIZ - EMODnet Data Ingestion Portal
Development
- different moduls are in the projects folder <!-- TODO: short description to every module -->
use customized toolbox in an other app development
build Toolbox
npm run lib:buildbuilds the complete toolbox in thedist-folder- after build
npm run lib:packpacks every module to a file in the following structurehelgoland-MODULENAME-CURRENT_VERSION.tgzin theroot-folder - every packed module can be used by installing it in app development with it's relative path, for example
npm install ../helgoland-toolbox/helgoland-MODULENAME-CURRENT_VERSION.tgz
Other commands
Run tests
- all implemented tests for the modules can be run by
npm test
Lint the complete code
ng lintfor performing static code analysis.
Generate documentation
npm run compodocfor generating documentation locallynpm run gh-pagesfor generating documentation and uploading it to GitHub Pages
Bump library version
npm version ***to increase library version. More on bumping.
Troubleshooting while using this library
- add
allowSyntheticDefaultImports: trueto your tsconfig.json to avoid error messages like... has no default export - don't forget to add styles of nested dependencies
Funding organizations/projects
The development of this client implementations was supported by several organizations and projects. Among other we would like to thank the following organisations and projects:
| Project/Logo | Description |
| :-------------: | :------------- |
| 
| The development of this version of the 52°North SOS was supported by the German Federal Ministry of Education and Research research project TaMIS (co-funded by the German Federal Ministry of Education and Research, programme Geotechnologien, under grant agreement no. 03G0854[A-D]) |
|
| The development of this version of the 52°North SOS was supported by the European Union’s Horizon 2020 research project JERICO-S3 (co-funded by the European Commission under the grant agreement n°871153) |
|
| The development of this version of the 52°North SOS was supported by the European FP7 research project NeXOS (co-funded by the European Commission under the grant agreement n°614102) |
| 
| The development of this version of the 52°North SOS was supported by the German Federal Ministry of Education and Research research project COLABIS (co-funded by the German Federal Ministry of Education and Research, programme Geotechnologien, under grant agreement no. 03G0852A) |
| 

| The development of this version of the 52°North SOS was supported by the German Federal Ministry of of Transport and Digital Infrastructure research project WaCoDis (co-funded by the German Federal Ministry of Transport and Digital Infrastructure, programme mFund) |
| 

| The development of this version of the 52°North SOS was supported by the German Federal Ministry of Education and Research research project MuDak-WRM (co-funded by the German Federal Ministry of Education and Research, programme FONA) |
|
| The development of this version of the 52°North SOS was supported by the Horizon 2020 research project SeaDataCloud (co-funded by the European Commission under the grant agreement n°730960) |
|
| The development of this version of the 52°North SOS was supported by the Horizon 2020 research project ODIP II (co-funded by the European Commission under the grant agreement n°654310) |
|
| The Wupperverband for water, humans and the environment (Germany) |
|
| The Belgian Interregional Environment Agency (IRCEL - CELINE) is active in the domain of air quality (modelling, forecasts, informing the public on the state of their air quality, e-reporting to the EU under the air quality directives, participating in scientific research on air quality, etc.). IRCEL — CELINE is a permanent cooperation between three regional environment agencies: Agence wallonne de l'Air et du Climat (AWAC), Bruxelles Environnement - Leefmilieu Brussel and Vlaamse Milieumaatschappij (VMM). |
Owner
- Name: 52°North Spatial Information Research GmbH
- Login: 52North
- Kind: organization
- Email: info@52north.org
- Location: Münster
- Website: https://52north.org/
- Twitter: fivetwon
- Repositories: 261
- Profile: https://github.com/52North
Advancing spatial information infrastructures to foster open science
GitHub Events
Total
- Watch event: 2
- Issue comment event: 1
- Push event: 11
- Fork event: 3
- Create event: 2
Last Year
- Watch event: 2
- Issue comment event: 1
- Push event: 11
- Fork event: 3
- Create event: 2
Committers
Last synced: over 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jan Schulte | j****e@5****g | 1,117 |
| Torben | t****3@g****m | 151 |
| Christoph Friedrich | c****h@f****e | 14 |
| ahitch | a****k@5****g | 7 |
| Henning Bredel | h****l@5****g | 3 |
| speckij | s****j@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 43
- Total pull requests: 79
- Average time to close issues: 9 months
- Average time to close pull requests: 5 months
- Total issue authors: 7
- Total pull request authors: 5
- Average comments per issue: 1.12
- Average comments per pull request: 0.47
- Merged pull requests: 23
- Bot issues: 0
- Bot pull requests: 51
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- ChrisMalewski (29)
- simonjirka (6)
- che- (3)
- SpeckiJ (2)
- ridoo (1)
- janschulte (1)
- VKirstein (1)
Pull Request Authors
- dependabot[bot] (50)
- TeKraft (23)
- ridoo (3)
- PasunuriSrinidhi (1)
- SpeckiJ (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- npm 30 last-month
- Total dependent packages: 2
- Total dependent repositories: 1
- Total versions: 23
- Total maintainers: 1
npmjs.org: helgoland-toolbox
Helgoland toolbox
- Homepage: https://github.com/52North/helgoland-toolbox#readme
- License: Apache-2.0
-
Latest release: 0.0.1-alpha.24
published over 8 years ago
Rankings
Maintainers (1)
Dependencies
- nginx alpine build
- node 16 build
- 1685 dependencies
- @angular-devkit/build-angular ^15.0.1 development
- @angular-eslint/builder 15.1.0 development
- @angular-eslint/eslint-plugin 15.1.0 development
- @angular-eslint/eslint-plugin-template 15.1.0 development
- @angular-eslint/schematics 15.1.0 development
- @angular-eslint/template-parser 15.1.0 development
- @angular/cli ^15.0.1 development
- @angular/compiler-cli ^15.0.1 development
- @bartholomej/ngx-translate-extract ^8.0.2 development
- @compodoc/compodoc ^1.1.19 development
- @types/d3 ^5.7.2 development
- @types/d3-delaunay ^6.0.1 development
- @types/geojson ^7946.0.10 development
- @types/jasmine ^4.3.0 development
- @types/jsonfile ^6.1.0 development
- @types/leaflet ^1.9.0 development
- @types/leaflet.markercluster ^1.5.1 development
- @types/lodash ^4.14.191 development
- @types/node ^12.20.15 development
- @types/ol ^5.3.5 development
- @types/plotly.js ^1.50.19 development
- @typescript-eslint/eslint-plugin ^5.43.0 development
- @typescript-eslint/parser ^5.43.0 development
- archiver ^5.3.1 development
- eslint ^8.28.0 development
- jasmine-core ^4.5.0 development
- karma ^6.4.1 development
- karma-chrome-launcher ^3.1.1 development
- karma-coverage ^2.2.0 development
- karma-jasmine ^5.1.0 development
- karma-jasmine-html-reporter ^2.0.0 development
- license-report ^6.3.0 development
- ng-packagr ^15.0.1 development
- tablemark-cli ^3.0.0 development
- ts-node ^10.9.1 development
- typescript ^4.8.4 development
- @angular/animations ^15.0.1
- @angular/cdk ^15.0.0
- @angular/common ^15.0.1
- @angular/compiler ^15.0.1
- @angular/core ^15.0.1
- @angular/forms ^15.0.1
- @angular/material ^15.0.0
- @angular/material-moment-adapter ^15.0.0
- @angular/platform-browser ^15.0.1
- @angular/platform-browser-dynamic ^15.0.1
- @angular/router ^15.0.1
- @ngx-translate/core ^14.0.0
- @ngx-translate/http-loader ^7.0.0
- angular-plotly.js ^3.0.0
- bootstrap-slider ^11.0.2
- class-transformer ^0.4.0
- d3 ^5.12.0
- d3-delaunay ^5.2.1
- jquery ^3.6.1
- leaflet ^1.9.3
- leaflet.markercluster ^1.5.3
- material-icons ^1.12.2
- moment ^2.29.4
- moment-timezone ^0.5.39
- ngx-clipboard ^15.1.0
- ngx-color-picker ^13.0.0
- ol ^6.4.3
- plotly.js ^1.54.5
- roboto-fontface ^0.10.0
- rxjs 6.6.0
- tslib ^2.1.0
- typescript-logging ^0.6.3
- xlsx ^0.17.1
- zone.js 0.11.4
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @types/geojson ^7946.0.8
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @types/geojson ^7946.0.8
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @ngx-translate/core ^13.0.0
- @types/geojson ^7946.0.8
- class-transformer ^0.4.0
- moment ^2.29.1
- moment-timezone ^0.5.33
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @ngx-translate/core ^13.0.0
- @types/d3 ^5.7.2
- @types/geojson ^7946.0.8
- d3 ^5.12.0
- d3-delaunay ^5.2.1
- moment ^2.29.1
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @types/geojson ^7946.0.8
- tslib ^2.1.0
- xlsx ^0.17.1
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @types/geojson ^7946.0.8
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- leaflet ^1.7.1
- leaflet.markercluster ^1.5.0
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @types/geojson ^7946.0.8
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @types/geojson ^7946.0.8
- @types/leaflet ^1.5.17
- @types/leaflet.markercluster ^1.4.5
- leaflet ^1.7.1
- leaflet.markercluster ^1.5.0
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @types/geojson ^7946.0.8
- ngx-color-picker ^11.0.0
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @types/ol ^5.3.5
- ol ^6.4.3
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- ngx-clipboard ^14.0.1
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @types/geojson ^7946.0.8
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @types/geojson ^7946.0.8
- moment ^2.29.1
- tslib ^2.1.0
- @angular/common ^13.1.1
- @angular/core ^13.1.1
- @types/geojson ^7946.0.8
- bootstrap-slider ^11.0.2
- jquery ^3.5.1
- tslib ^2.1.0
- tslib ^2.1.0