OpenHistoricalMap / issues

File your issues here, regardless of repo until we get all our repos squared away; we don't want to miss anything.
Creative Commons Zero v1.0 Universal
19 stars 1 forks source link

Integrate Esri World Imagery Wayback into editors #582

Closed 1ec5 closed 8 months ago

1ec5 commented 1 year ago

Esri maintains a catalog of dated aerial imagery layers replete with WMTS endpoints. How can we integrate this dynamic set of layers into iD and JOSM?

This imagery comes with the same reuse rights as the Esri World Imagery layer that we’re already using via editor-layer-index. But the main editor-layer-index project declined to integrate these layers because they would overwhelm the index for people mapping the present in OSM: osmlab/editor-layer-index#1364. Indeed, in many places, there are nearly monthly layers dating back several years (and even with “Only versions with local changes” selected, still roughly annual). If our fork of iD were to integrate it all with the usual UI, it would overwhelm historical mappers too! But maybe we could build something smarter, piggybacking on openstreetmap/iD#8826 and/or OpenHistoricalMap/iD#142.

Most of the imagery seems to come from Maxar, so it comes with all the same caveats: lower resolution, oblique angles, sometimes offset quite a bit. Still, it’s a great way to pinpoint when something changed.

/cc @dkensok

jeffreyameyer commented 1 year ago

Well... we do have our own ELI list (ticketed... #296 #297). We just need to curate at it like we'd like (and then maybe filter as you suggest!). There isn't a lack of georef'd old maps and aerials... there's just a lack of findability / workflow integration.

We should consider bumping this back up the list. Might be an easier lift than we realize.

1ec5 commented 1 year ago

I think what could make this particular version of the task more straightforward is that the WMTS endpoints are exactly like the Esri World Imagery layer we’re already using. It even comes with a metadata endpoint for iD’s Background inspector to show dates and such.

I don’t think we’d want to add these layers directly to ELI, because Wayback is basically a dynamic ELI unto itself. Perhaps iD could merge it into the ELI list, similar to how it merges NSI presets into the id-tagging-schema presets. UI-wise, perhaps we could add like a dropdown menu to the background switcher, I dunno. (I have no idea if JOSM’s plugin API supports what we’d need however.)

1ec5 commented 1 year ago

Perhaps iD could merge it into the ELI list, similar to how it merges NSI presets into the id-tagging-schema presets. UI-wise, perhaps we could add like a dropdown menu to the background switcher, I dunno.

This could also potentially pave the way for USGS topoView integration.

1ec5 commented 1 year ago

ArcGIS.com doesn’t provide an RSS feed for its Wayback layers. Instead, they have an API endpoint for getting the list of layers as a JSON file. Each item in the JSON array indicates a WMTS URL template:

https://wayback.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/WMTS/1.0.0/default028mm/MapServer/tile/32337/{level}/{row}/{col}

Unfortunately, iD doesn’t support WMTS: openstreetmap/iD#4828. It also only supports Mercator projection: openstreetmap/iD#4843. Unusually for MapServers, there doesn’t seem to be any obvious endpoint for TMS or iD-compatible WMS.

1ec5 commented 1 year ago

Based on this diary post by @dkensok, we can transform the URL templates like this:

https://wayback.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/WMTS/1.0.0/default028mm/MapServer/tile/32337/{level}/{row}/{col}
https://wayback.maptiles.arcgis.com/arcgis/rest/services/World_Imagery/WMTS/1.0.0/default028mm/MapServer/tile/32337/{zoom}/{y}/{x}
1ec5 commented 1 year ago

This could also potentially pave the way for USGS topoView integration.

Tracking separately in #599 because I think it’ll require more than just UI work.

1ec5 commented 1 year ago

OpenHistoricalMap/iD#181 implements the bare minimum for this feature: it fetches the feed, lists all of the layers inline, and hooks up the metadata MapServers so that the Background panel can show the layer’s vintage. We’ll want to split out a separate issue to track UI changes that would make the Wayback layers less unwieldy.