Comments (6)
@paulmach flatgeobuf is now more mature than last year and integrated in several well known GIS software. golang support is still lacking but note that geobuf is not a dependency it's just inspired by it and flatbush is not a strict requirement. If you are interested I will take a second look at providing a reference golang implementation (even though I've very rarely touched golang).
from orb.
Maybe have a look at the format, if you can spot improvements. I think the geo community need desperately a format for heavy lifting and streaming geo data. Geojson and xml are just to verbose. Just trying to convince as many people as possible to agree on a design so we have global tool support for a more performant intermediate format. Others will probably implement it for you and and do a pull request for it in orb/encoding But everybody needs to agree on some format first. For example topojson is other candidate I already did a pull request for #33
Thanks
from orb.
more specifically, do you mean geojson <-> flatgeobuf?
from orb.
I looked at flatgeobuf but don't see much documentation. I see a few lines for Specification in the readme and some flatbuffer files. I don't really understand how to pack geometry into them. It seems like you'd need byte compatible implementations of geobuf and flatbush in golang too.
As for topojson. Thank you, I'll take a look.
from orb.
FlatGeoBuf support in Go would be amazing.
In the meantime, Shapefile and GeoPackage seem like the only binary formats which are supported both by Golang and by GDAL
Geobuf format, as provided in this package as well as by the "spatial-go" package, was a nice binary format (and considerably more compact than FlatGeoBuf in my experience), but Geobuf seems to be no longer actively maintained by Mapbox, and the format is not supported by GDAL, so that seems to be a dead end.
from orb.
For folks who are interested, I've implemented what I think is a very good low-to-medium level native Go library for FlatGeobuf: https://github.com/gogama/flatgeobuf. I'd love to hear feedback if anyone has some!
The difficulty I've observed with FGB at least in Go is that although it is wonderful to be able to read and write the lower-level FlatBuffer data types and search the index (all of which my library does quite cleanly, I think), there is still a lot of tricky manual boilerplate required to unpack the FlatBuffer tables and feature properties into high-level structured types that people are used to coding against, for example org.Geometry
.
I'm working on a higher-level library to solve this problem: https://github.com/gogama/flatgeobuf-convert. It's in a pretty early stage, but I imagine within 30-60 days I'll have an alpha version available that lets you pack/unpack between Orb types and FlatGeobuf low-level types and handle features properties more cleanly also.
from orb.
Related Issues (20)
- Can we use wkb.Scanner with orb.Geometry type ? HOT 2
- Units of orb.Bound.Pad() HOT 2
- Reverse Geocoding HOT 2
- panic in wkt.Unmarshal
- Polygon and line intersection coordinates
- quadtree KNearest search is fickle
- Subdivide polygon HOT 1
- How to process the result of encoding/mvt HOT 3
- Mongo/BSON: no decoder found for orb.Geometry HOT 6
- How to update DefaultRoundingFactor for Lat/Lon? HOT 6
- get geometry center HOT 1
- Failed to parse wkt MultiPolygon HOT 2
- Invalid MULTIPOLYGON no longer gives an error HOT 2
- Degraded performance wkt.Unmarshal since v.0.9.1 HOT 2
- Support for (storing) altitude HOT 6
- encoding/mvt fails on nil features HOT 5
- PointAtBearingAndDistance return points with large vertical distance HOT 1
- Tilecover returns adjacent / touching tiles HOT 2
- When i use a large polygon and clip it,it looks bad HOT 5
- JSON Unmarshalling panics if the geojson object is null HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orb.