visr / LasIO.jl

Julia package for reading and writing the LAS lidar format.
Other
22 stars 13 forks source link

provide laszip with BinDeps.jl #7

Closed juliohm closed 5 years ago

juliohm commented 7 years ago

Hi Martijn, thanks for the package. Regarding the liblaz installation issue you mentioned in the README, you can use BinDeps.jl to get the dependency installed automatically: https://github.com/JuliaLang/BinDeps.jl

visr commented 7 years ago

Yes thanks for the suggestion. I'm not completely sure I want to use BinDeps, because I see LAZ support currently as an optional extension to an otherwise pure Julia package.

Using BinDeps will no longer make it optional. If there are other thoughts on how to still make it as easy as possible for users, I'm all ears :)

juliohm commented 7 years ago

Makes sense, if you see LAZ as a different format that shouldn't be installed by default, perhaps another package LazIO.jl would be something reasonable? I don't understand the details of the format, nor I have a good idea of how difficult it would be to have a pure Julia solution for it as well.

In terms of user experience, BinDeps.jl is very robust. Nothing is needed from the user's side.

visr commented 7 years ago

A pure Julia solution would be cool but will take quite some work. Worth investigating however. Let's decide on this when we get to v0.1.0. Perhaps by that time we could use https://github.com/staticfloat/BinDeps2.jl :)

c42f commented 7 years ago

I've used BinDeps for packages before, but the developer experience is a lot of work. In particular, supporting binary dependencies cross platform is a bit of a nightmare unless you have all platforms available for testing.

@juliohm laz is a compression format for las - the two follow the same standard for user-visible data structures stored in the file. So laz support is very much the business of LasIO.jl, I would say.

The pipe based solution we've got so far is is a great way to go for the amount of work involved. In the longer term, it would be a good idea to wrap the C laszip library directly into a thin low level LasZip.jl and depend on that.

visr commented 5 years ago

I'll close this, since we now have https://github.com/evetion/LazIO.jl which provides binaries with BinaryBuilder/BinaryProvider through https://github.com/evetion/LASzipBuilder.

LasIO and LazIO can probably still be integrated better, but there's always more to do :)