Think about your audience
Jan. 10th, 2023 11:48 pmTopoJSON is an extension of GeoJSON that encode topology. Rather than representing geometries discretely, geometries in TopoJSON files are stitched together from shared line segments called arcs. TopoJSON eliminates redundancy by efficiently storing related geometries in the same file [1]. Typical TopoJSON files are 80% smaller than their GeoJSON equivalents. In addition, TopoJSON facilitates applications that use topology, such as topology-preserving shape simplification, automatic map coloring, and cartograms [2].
I am interning with the OCaml community on the project "Implement a non-blocking, streaming codec for TopoJSON". It encode and decode Topology Information in JSON text without blocking on IO and without a complete in-memory representation of the data. This allows for more fast and efficient transmission of data as well as minimal memory storage usage hence why this project is important.
Initially, I was all confused on how to approach the project, considering the fact that i was new to both OCaml and geospatial concepts. But I have always had strong interest in them, so this provided me the opportunity to learn. This project has exposed me to several geospatial concepts which i didn't know before now. Some of them include:
I am interning with the OCaml community on the project "Implement a non-blocking, streaming codec for TopoJSON". It encode and decode Topology Information in JSON text without blocking on IO and without a complete in-memory representation of the data. This allows for more fast and efficient transmission of data as well as minimal memory storage usage hence why this project is important.
Initially, I was all confused on how to approach the project, considering the fact that i was new to both OCaml and geospatial concepts. But I have always had strong interest in them, so this provided me the opportunity to learn. This project has exposed me to several geospatial concepts which i didn't know before now. Some of them include:
- Transform : The purpose of the transform is to quantize positions for more efficient serialization.
- Topology: This is the arrangement of how point, line, and polygon features share geometry.
- Pretty printer: Used for formatting.
- Alcotest: Exposes a simple interface to perform unit tests
- TopoJson and GeoJson
- Modules: OCaml modules allow to package together data structures definitions and functions operating on them. This allow to reduce code size and name confusion.