StreetComplete icon indicating copy to clipboard operation
StreetComplete copied to clipboard

add functionality to show satellite map

Open escoand opened this issue 7 years ago • 41 comments

This feature would be very helpful for the roof shapes.

escoand avatar Mar 30 '17 19:03 escoand

Hmm, if you can see the roof shape from satellite, you could also do it from JOSM, wouldn't you?

On the technical side, I am not entirely sure if this is possible, but if it is, then it involves making the background of the Tangram-Es map invisible and showing the bing map behind it.

westnordost avatar Mar 30 '17 20:03 westnordost

Yes of course but with this argument there is not much left for this app.

escoand avatar Mar 31 '17 17:03 escoand

Yes, that'd be okay though. If it can be done more comfortably using JOSM, it should be.

Anyway, I will not close it, it is just very low priority for me.

westnordost avatar Mar 31 '17 18:03 westnordost

You did not close it yet. I'll agree on the low-prio, only a nice-to-have feature, but could be implemented by contributors or so.

rugk avatar Mar 31 '17 19:03 rugk

I'm not very experienced with JOSM but more comfortable than this 2-3 touchs approach is hard to imagine.

I really like StreetComplete for this ease of use. I don't know any other more comfortable OSM app. Super Arbeit!

escoand avatar Mar 31 '17 21:03 escoand

I need to say it is even important for getting the number of floors. In some areas not all house shapes are correct. So a satellite image helps to see if someone tagged the wooden carport as part of the house. By the shape of the roof you can make out the shape of the house and tag the floors.

lightonflux avatar Apr 03 '17 04:04 lightonflux

As I discussed in my ill-fated duplicate of this issue, satellite imagery can also be very helpful for orienting one's self on the map. Many quests can be hard to locate due to scarce map data, but satellite imagery would make them significantly easier to find.

TimMagee avatar Mar 05 '19 18:03 TimMagee

Many quests can be hard to locate due to scarce map data

That does not speak for the map style… However, I have to agree… It's sometimes very difficult, especially when your compass is a little wrong and so you cannot even rely on the orientation.

However, this can also be fixed. (IMHO it would already help to show the points of what the each (any) quest is actually about, …)

rugk avatar Mar 05 '19 20:03 rugk

… It's sometimes very difficult, especially when your compass is a little wrong and so you cannot even rely on the orientation.

The difficulty is also added to by the fact that the GPS position updates in jumps, which makes any surveying other than at a walking pace (e.g. as a passenger in a car or bus) quite hard.

waldyrious avatar Mar 06 '19 08:03 waldyrious

Welll… that behavior of GPS is normal or a problem of your device. In cars speed or so I can see the GPS position quite well…

However, coming back to the maps issue… We have identified some problems, so may someone want to summarize (/list) it & open a new issue at https://github.com/ENT8R/streetcomplete-mapstyle or so?

rugk avatar Mar 06 '19 22:03 rugk

I've added a comment to an issue there that I believe would be ameliorated with satellite view (but also improved map style): https://github.com/ENT8R/streetcomplete-mapstyle/issues/65#issuecomment-470497556

waldyrious avatar Mar 07 '19 11:03 waldyrious

On the technical side, I am not entirely sure if this is possible, but if it is, then it involves making the background of the Tangram-Es map invisible and showing the bing map behind it.

looking at https://github.com/ENT8R/streetcomplete-mapstyle/blob/master/streetcomplete-satellite-style.yaml it should be possible to to it with an additional map style.

I tried to find out usage rules for Mapbox-hosted layer and failed, but I am betting that you must use Mapbox software, with Mapbox tracking enabled to (and probably also pay). Maybe it would be possible to use Bing aerial data here?

https://raw.githubusercontent.com/osmlab/editor-layer-index/gh-pages/sources/world/Bing.geojson list ELI entry for Bing, but somehow without URL format.

JOSm apparently has its own separate list that is also missing format - see https://josm.openstreetmap.de/wiki/Maps/Worldwide#Bingaerialimagery

matkoniecz avatar Aug 17 '19 18:08 matkoniecz

I just managed to get raster tiles to work in StreetComplete, caching also worked.

I tested with non-satellite raster, now I will try to hunt down satellite map that will also work and has global coverage (Bing is promising but seems to have weird tile indexing).

Proof of concept is at https://github.com/westnordost/StreetComplete/commit/6b2085f07d75399a5586d33188ff42ab1c81987b

EDIT: And now I have a satellite/aerial view!

sources:
  raster:
    type: Raster
    url: https://server.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}
layers:
  raster:
    data: { source: raster }
    draw:
       raster:
          order: 0

matkoniecz avatar Aug 21 '19 17:08 matkoniecz

@westnordost So now I am ready to make PR fixing this (after finishing/getting closer to finishing with one of open ones).

I assume that single satellite/aerial map with global coverage is preferable over using full blown parser of https://github.com/osmlab/editor-layer-index that will generate map style with the best layer in a given area (as it would be hilariously complex without matching big benefit).

I am tempted ti just go with Esri - but at the very least I need to check license (it is included in JOSM but...). Maybe Bing is feasible.

matkoniecz avatar Aug 21 '19 17:08 matkoniecz

Proof of concept is at 6b2085f

Weird, did you commit that into this repository? How is this possible?

westnordost avatar Aug 21 '19 19:08 westnordost

Weird, did you commit that into this repository? How is this possible?

My branch is not listed at https://github.com/westnordost/StreetComplete/branches/all so I am guessing that it is contained to my fork repository and GitHub is showing this poorly.

Looking at git logs on command line confirms this.

matkoniecz avatar Aug 21 '19 19:08 matkoniecz

@westnordost Can you add also https://github.com/ENT8R/streetcomplete-mapstyle/pull/73 to the SC repo? This way I would be able to start adding ability to use satellite/aerial without fragile/convoluted merges.

EDIT: done

matkoniecz avatar Aug 21 '19 20:08 matkoniecz

Main question is how UX should be implemented. Currently map style is bundled with dark/light mode.


Current options are:

Auto Light Dark System default


I am planning to split this setting in two and have:

(1) Night mode with the same settings as now:

Auto Light Dark System default

(2) And map style settings:

Map Satellite (Esri)

Map style would follow UI style as it is doing now.


Optionally, have in settings checkbox "replace map by Esri aerial view"


(note, full attribution would still be added somewhere - see https://github.com/esri/esri-leaflet#terms - so maybe do not credit/blame Esri for aerial quality directly in settings?)

matkoniecz avatar Aug 30 '19 11:08 matkoniecz

Esri would simply best appear in the lower right corner, along with Openstreetmap contributors? Or maybe "Aerial (by Esri)" in the settings is enough?

westnordost avatar Aug 30 '19 23:08 westnordost

If you display an ArcGIS Online service in any Leaflet application, we require that you include Esri attribution and recognize data providers.

is in https://github.com/esri/esri-leaflet#terms

But I researched a bit more and found https://www.arcgis.com/home/item.html?id=8e90a00a0a6845a49262e0b756f57a10

The following use cases are permitted for the World Imagery basemap: (...) Sharing Data with Open Data Sites: Building on the use cases above, Esri and its imagery contributors grant Users the non-exclusive right to use the World Imagery map to trace features and validate edits in the creation of vector data. Users that create vector data from the World Imagery map can publicly share that vector data through a GIS data clearinghouse of their own or through another open data site. Public sharing can also be achieved through ArcGIS Open Data or the OpenStreetMap (OSM) Initiative. For ArcGIS users that want to contribute such vector data to OSM, Esri provides applications and services directly accessible from ArcGIS platform. Users acknowledge that any vector data contributed to OSM is then governed by and released under the OpenStreetMap License (e.g. ODbL).

That has no attribution requirements whatsoever and certainly is without explicit requirement to list all involved organizations.

In JOSM there is solely tiny "Terms & Feedback" linking to https://wiki.openstreetmap.org/wiki/Esri

So

"Aerial (by Esri)" in the settings is enough

seems to be correct

matkoniecz avatar Aug 31 '19 06:08 matkoniecz

What about mentioning aerial in changeset source field?

This is a thing that may be either "nice to have" (in that case I will probably skip it, at least initially) or "really should be done" (in such case I will include in the PR from start).

matkoniecz avatar Oct 02 '19 07:10 matkoniecz

Hmm right, the issue might be that people start answering quests based on assumptions from (blurry) aerial imagery. For example "This looks like asphalt", without being on site. On the other hand, there is the warning if he is not really on-site. So it should be okay. The aerial source should not be mentioned because the information should not be drawn from there.

westnordost avatar Oct 02 '19 14:10 westnordost

Exactly, we already prevent users from answering if they try to answer quests too far away. We cannot protect against all pitfalls anyway. (and even if they use aerial image, it is at least better than just guessing and not using it :thinking:)

This needs to be seen in practice, but if I think about it, I personally may really use the image if I could use it today. When looking into a nearby street for the surface quest, I would possibly indeed double-check on the image that also the end of the road does not have a different surface. (I guess that is a thing you should see :thinking:)

Generally, I'd say so, at least for asphalt – finding this out from an aerial image is not a bad method.

rugk avatar Oct 03 '19 19:10 rugk

Depends on the resolution. I brought up this example because often you cannot distinguish asphalt from certain types of sett from aerial imagery.

westnordost avatar Oct 03 '19 20:10 westnordost

I notice that this issue is marked as fixed. Yet, I cannot figure out how to use satellite imagery in StreetComplete.

Do I need to build StreetComplete myself with a special configuration option to use this?

Is there an advanced setting I need to set to enable this?

Am I missing something?

I have tried the F-Droid build, the Github build, and the Google Play build on multiple phones with various versions of Android and I have hunted through the settings and menus. So, if this feature is enabled, it only works on a small subset of devices or I am really bad at finding things.

TimMagee avatar Nov 02 '21 13:11 TimMagee

@TimMagee It is not your fault at all! This feature is not yet available despite being partially implemented.

I was supposed to finish it to add offline support (see especially #2794) but it has not happened yet.

matkoniecz avatar Nov 02 '21 13:11 matkoniecz

Should this issue be opened again? Satellite / aerial images still cannot be selected, and the current implementation is broken/crashing (you can try by manually editing shared preferences file)

Helium314 avatar May 06 '22 05:05 Helium314

It would be very helpful to have satellite/aerial imagery now we have the ability to add addresses and shops to the map. If buildings aren't already mapped, it can be hard to work out where to put the nodes.

dbdean avatar Oct 05 '22 09:10 dbdean

If buildings aren't already mapped, it can be hard to work out where to put the nodes.

Ummm, why do you think so @dbdean ? When on the ground, you're in the perfect position to put nodes at exactly the right location where it would be most useful as a node - at the entrance to that shop or house. App knows where you are (due to GPS) even without any map being shown, so it is enough that you get close to the entrance.

if buildings are mapped as polygons...

The more problematic IMHO is if buildings are mapped as polygons, as adding nodes to map does not (AFAIK) do snap-to-building-outline (which would be the most useful way to map, as otherwise any map aligning by other mappers usually results in nodes ending up being shown on the wrong side of the road/footway, disassociated from building etc)


However, if aerial background is implemented, and user enables it, we should add appropriate tags to the changeset (i.e. imagery_used=*).

We might also consider removing source=survey from such changesets, as it becomes much more likely that StreetComplete would not actually be used on-site (even with our dismissable warnings...) (related: https://github.com/streetcomplete/StreetComplete/discussions/4017, https://github.com/streetcomplete/StreetComplete/issues/3137)

mnalis avatar Oct 05 '22 09:10 mnalis

The GPS position can be somewhat off in street canyons (e.g. apartment blocks on both sides) due to reflections.

The more problematic IMHO is if buildings are mapped as polygons, as adding nodes to map does not (AFAIK) do snap-to-building-outline (which would be the most useful way to map, as otherwise any map aligning by other mappers usually results in nodes ending up being shown on the wrong side of the road/footway, disassociated from building etc)

You can tap on the building to assign it a housenumber.

westnordost avatar Oct 05 '22 10:10 westnordost