hobuinc / greyhound

Greyhound is a point cloud streaming server. It should be considered deprecated for now. Use Entwine and Entwine Point Tile directly if you just want to serve point cloud web services.
https://greyhound.io
Apache License 2.0
131 stars 51 forks source link

Support for EPT format #72

Open nicolas-chaulet opened 5 years ago

nicolas-chaulet commented 5 years ago

Hi all, We are very interested in the pdal/entwine/greyhound suite and thanks @hobu for the clarification regarding scope, makes total sense. I can still see use cases where greyhound comes in handy (as you mentioned) and we would actually like to have such service in place in order to abstract the logic for reading sections of a point cloud or grabbing a certain resolution. It does not seem that greyhound supports EPT at the moment, is there any plan to add that in the near future? If not, we would be ready to help with that if you are interested, any pointer to what should change would be ideal. Thanks!

hobu commented 5 years ago

It does not seem that greyhound supports EPT at the moment, is there any plan to add that in the near future?

Presumably by support EPT, you mean for Greyhound to be able to serve data over top of EPT datasets. We have some desire for this too, it hasn't moved high enough up the queue at the moment. It should not be that difficult to achieve. Entwine's previous organization that Greyhound is using is not so significantly different than EPT.

There's another EPT support thread which is Greyhound reflecting EPT for its services. The utility of such a thing is arguable, especially as Greyhound evolves toward server software that is less focused on satisfying sub 40ms small queries for rendering (you can beat that easily with straight EPT) and more focused on "do PDAL-like things to data remotely over the internet".

nicolas-chaulet commented 5 years ago

Thanks for you answer.

Entwine's previous organization that Greyhound is using is not so significantly different than EPT.

I see that data is read using entwine's data reader actually. So I guess most of the changes should happen in entwine itself (if that hasn't happened already), correct?

Greyhound evolves toward server software that is less focused on satisfying sub 40ms small queries for rendering (you can beat that easily with straight EPT) and more focused on "do PDAL-like things to data remotely over the internet".

That's really the kind of use case that we have in mind, having said that, do you feel that it is still a good idea to leverage the existing code base of Greyhound? Or are we talking about something that would really need a complete repurposing?

hobu commented 5 years ago

So I guess most of the changes should happen in entwine itself (if that hasn't happened already), correct?

@connormanning would have to comment, but I think most of the changes would be in Greyhound's "Entwine reader" implementation need to adapt to EPT.

do you feel that it is still a good idea to leverage the existing code base of Greyhound?

The case for keeping Greyhound includes:

In short, we don't see Greyhound going away, but it has fallen down our queue at the moment. If you can invest software development into it, the things you want will happen much faster.

jw3 commented 5 years ago

Here is a quickly hacked together example using the ept branch updated for recent 2.0 entwine https://github.com/jw3/greyhound/tree/jw3/ept

It will be slightly behind latest but should update easy enough. Was having problems with binary backend but that might have been an entwine issue that was fixed up. Otherwise worked well enough for proof of concept.