Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add JSON as a native exchange format #51

Open
rogerfraser opened this issue Jun 2, 2020 · 0 comments
Open

Add JSON as a native exchange format #51

rogerfraser opened this issue Jun 2, 2020 · 0 comments
Labels
feature new Request a new feature or function

Comments

@rogerfraser
Copy link
Member

rogerfraser commented Jun 2, 2020

Add JSON as a native exchange format

Motivated by a general requirement for a more flexible import/export file format for exchanging station, measurement and adjustment output information, this issue will replace issue 3, issue 19 and issue 22, and track the development of new functionality to exchange information using JSON and/or its variants (BSON, UBJSON, GeoJSON, etc.).

Assumptions for selecting JSON

The broad assumptions for selecting JSON are follows:

  • Good representation of structured data
  • Relatively light weight, more compact and less verbose (compared to XML)
  • Supported by a variety of event driven (SAX-like) parsers, allowing for efficient parsing of extremely large files
  • Supported by a variety of open source and commercial GIS (e.g. QGIS, ArcGIS/Map) and DBMS (e.g. PostgreSQL, Oracle)
  • Offers support for echanging data via RESTful APIs and API-based services oriented architectures
  • Permits the use of schemas and integrity checking
  • Relatively simple to build translators between JSON and other formats
  • Supports human readable and binary options

C++ JSON support

Various open source C++ libraries for JSON I/O exist. A comprehensive summary of the available C++ JSON projects on GitHub, including C++ language support, memory requirements and performance benchmarking, can be found here.

Next steps

  • Develop schemas for structuring standard input (station, measurement, geoid) and output (adjusted measurements and coordinates, uncertainties, statistics, corrections) information
  • Identify any other specific collections of information
  • Identify a suitable open-source C/C++ library, preferably from GitHub
  • Develop and test
  • Document
@rogerfraser rogerfraser added the feature improve Improve or enhance an existing feature label Jun 2, 2020
@rogerfraser rogerfraser added feature new Request a new feature or function and removed feature improve Improve or enhance an existing feature labels Oct 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature new Request a new feature or function
Projects
None yet
Development

No branches or pull requests

1 participant