Giter VIP home page Giter VIP logo

Comments (6)

bjornharrtell avatar bjornharrtell commented on May 22, 2024 2

@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.

gertcuykens avatar gertcuykens commented on May 22, 2024 1

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.

paulmach avatar paulmach commented on May 22, 2024

more specifically, do you mean geojson <-> flatgeobuf?

from orb.

paulmach avatar paulmach commented on May 22, 2024

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.

morandd avatar morandd commented on May 22, 2024

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.

vcschapp avatar vcschapp commented on May 22, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.