-
Notifications
You must be signed in to change notification settings - Fork 46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
open-elevation #157
Comments
Yeah, wow, would it ever! I didn't know that they now support unlimited The other interesting development here an impending re-write of how This issue will definitely be integrated, but it'll be a bit hard to judge when until the |
Was a bit of a surprise to me too; I wonder if it will last. Happy with the non committal timeframe, and I'm here to help if you need it. |
@mpadge the CRAN necessities are in https://github.com/hypertidy/silicate/projects/1 (I just updated a little). |
btw I'm a little uncomfortable about arbitrary point requests for elevation, use-at-scale really benefits from local elevation tiles where you can control the interpolation and so on, and insert your own custom local requirements. I wonder how they dispatch a distributed set of points, do they pick a scale based on the overall range etc? So any utility would be smart to tile up point requests to ensure the resolution was good locally, and by that stage you might be best getting the native tile anyway. And then there's edge-based requests to get traversed pixel values. Just thoughts ;) |
Yeah, I know what you mean but am more than happy initially just to farm those concerns off to an external API in order to spin out a computationally, if not geographically, useful result. It seems like they're got pretty good docs, so I'll delve in and report back, but I imagine they got their own interpolation algorithms applied to some kinda master layer - surely any other way would be nonsense? |
Agreed, and it's great right now for super-powers while developing! |
So open-elevation is just a simple wrapper around GDAL that implements these steps:
Default "resolution" seems to derive from cutting each 250m sample into grids of 10-by-10 tiles (see here - the third argument is The API itself is very slow to respond, but actual processing scales well:
Implementing this will take about 20-30s longer, but roughly constant and regardless of size. Once the rasters are being appropriately interpolated, this can probably be directly implemented with just an initial warning regarding the likely time required to extract the data. |
Well, so it's only land elevation. No need to convert to geotiff btw raster will lazy read and extract points from srtm files, and you could build a single .VRT with an ever growing set of source tiles locally. That's the kind of efficiency I mean, you might as well get the tiles as needed. |
I forgot but we actually have all of V3 SRTM in our data library, so I can easily help collate or provide samples for experiments. The current link to the 250m downsample does not seem complete, there's no TIF for W: https://drive.google.com/drive/folders/0B_J08t5spvd8VWJPbTB3anNHamc I'd commit the entire v4.1 to our collection and go for the bulk download by request, and give you account/s with access to it. It seems that v3 was 650Gb so that's probably the same for 4.1. |
Great to know, but |
Oh huh, I thought you were considering implementating it yourself - appreciate the pointers to details! |
Argh, now I have to close this issue as unfortunately not currently possible. The code above is pretty much all that would be needed, but any reasonably-sized queries just give
... but that's entirely a decision that would have to be made and implemented by the open-elevation developer(s), who are yet to respond to the issue I opened. Most unfortunate, and I would love to re-open this soon, but in the meantime shall close. (Unless anyone else cares to pipe in with an offer to host an instance of open-elevation? ... just in case 😏 ) |
Re-opened because this is so important it would be better served with its own vignette. It is so straightforward to set up a local |
I support this decision. |
Y'all - @SymbolixAU @Robinlovelace @mdsumner - this is now being worked on, and with 90m raster cells (equatorial average), instead of the 250m that |
Cool! For comparisons btw have you tried |
I hadn't even seen that - that is such a brilliant idea! Thanks for putting in the hard yards there - supremely useful. Once you've got |
@mdsumner That commit already implemented it for |
Cool! BTW I just pushed arguments added to On the sf-building stuff, I really meant to get @SymbolixAU to show the way there - I feel like this shared need to fast-build sf from other forms is a unifying idea for us - yesterday I wrote some creators from scratch for ARC and SC (no big deal, just bespoke) - a germ of the silicate idea is to have a universal shared form. At the moment, I think that is a single coordinate table (i.e. all the coordinates in the latent sf object, in order) and a run-length summary - the grouping table of object, subobject, path (gibble) - that encodes the soon-to-be sf object. What do you think of that? I think any of us can arrange this single coordinate pool and grouping table, from a huge variety of other forms - and from that the sf-builder can rip. |
Yeah, part of this playing will be stuff that I have a heap of code lying around for to test the workability of having everything in all my packages in Convoluted digression, but ... I really want a universal sf-builder, and you and I will definitely need to code one regardless, but I've a lurking fear that |
Yeah ;) |
I've been toying with the idea of an sf-construction library for a while too. I've got another project on the go, gpxsf, to convert GPX files to sf objects, and I'm re-using a lot of the code I wrote for And the point about staying within C++ is valid, hence why all my recent libraries are now pretty much header-only with Do you think it's worth creating another repo (maybe in r-spatial) to have an sf-constructor header-only library? |
Sure! I just want to hash out the interface, though (let's take this elsewhere ;) |
This is now all implemented in latest CRAN version 0.1.0, and detailed in new vignette. OSM data plus elevation in 4 lines of code - thanks to the might of |
Oh wow, that's awesome! |
while I remember - https://github.com/dcooley/sfheaders - is my attempt at a universal sf builder (on my personal github account). Is this still on your list of requirements, and is what I've done any use? |
Yep @SymbolixAU, that does indeed look very useful. I really like your use of |
Sounds good! |
Looove how it's done, very nice @SymbolixAU only just getting into it now |
Would it be possible to support the Open-Elevation API ?
The text was updated successfully, but these errors were encountered: