Skip to content
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

add functionality to show satellite map #56

Open
escoand opened this issue Mar 30, 2017 · 41 comments
Open

add functionality to show satellite map #56

escoand opened this issue Mar 30, 2017 · 41 comments
Assignees

Comments

@escoand
Copy link

escoand commented Mar 30, 2017

This feature would be very helpful for the roof shapes.

@westnordost
Copy link
Member

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.

@escoand
Copy link
Author

escoand commented Mar 31, 2017

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

@escoand escoand changed the title add function to show satellite map add functionality to show satellite map Mar 31, 2017
@westnordost
Copy link
Member

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.

@rugk
Copy link
Contributor

rugk commented Mar 31, 2017

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.

@escoand
Copy link
Author

escoand commented Mar 31, 2017

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!

@lightonflux
Copy link

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.

@TimMagee
Copy link

TimMagee commented Mar 5, 2019

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.

@rugk
Copy link
Contributor

rugk commented Mar 5, 2019

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, …)

@waldyrious
Copy link
Contributor

… 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.

@rugk
Copy link
Contributor

rugk commented Mar 6, 2019

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?

@waldyrious
Copy link
Contributor

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

@matkoniecz
Copy link
Member

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
Copy link
Member

matkoniecz commented Aug 21, 2019

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 6b2085f

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
Copy link
Member

@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.

@westnordost
Copy link
Member

Proof of concept is at 6b2085f

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

@matkoniecz
Copy link
Member

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
Copy link
Member

matkoniecz commented Aug 21, 2019

@westnordost Can you add also streetcomplete/streetcomplete-mapstyle#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
Copy link
Member

matkoniecz commented Aug 30, 2019

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?)

@westnordost
Copy link
Member

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

@matkoniecz
Copy link
Member

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
Copy link
Member

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).

@westnordost
Copy link
Member

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.

@rugk
Copy link
Contributor

rugk commented Oct 3, 2019

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 🤔)

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 🤔)

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

@westnordost
Copy link
Member

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

@TimMagee
Copy link

TimMagee commented Nov 2, 2021

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.

@matkoniecz
Copy link
Member

@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.

@Helium314
Copy link
Collaborator

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)

@dbdean
Copy link
Contributor

dbdean commented Oct 5, 2022

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.

@mnalis
Copy link
Member

mnalis commented Oct 5, 2022

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: #4017, #3137)

@westnordost
Copy link
Member

westnordost commented Oct 5, 2022

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.

@dbdean
Copy link
Contributor

dbdean commented Oct 5, 2022

The example I had today was that I was sitting in a cafe and I could see about 4-6 businesses across the street, but no buildings were mapped. Other than the one directly across from me, I couldn't really judge how along the surrounding businesses were.

I ended up adding them using OSMAnd with imagery visible, because the locations of the POIs were obvious from the visible buildings in the aerial imagery.

@mnalis
Copy link
Member

mnalis commented Oct 6, 2022

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

That is true. But the aerial and satellite maps have offsets too; that's why for more accurate positioning one has to use Imagery Offset Database if available for that imagery and for that microlocation; or use other, more complicated calibration methods if IOD is not available there. Unfortunately, many mappers do not use those calibrations/offsets (nor take into consideration picture angles which makes base of the buildings removed from the their roofs, sometimes for over 30%) but instead use aerial/satellite imagery as provided, so some positional error will creep in either way.

I personally do not find that a huge problem - even if the amenity I'm looking for is say 20m away from it proper location, I'd still likely to be able to find without much problems (as you note, data consumer who will try to find the amenity will also be using the GPS, so in street-canyons-gps-error situation even if amenity is perfectly mapped with precision geodesic equipment, the final user will have the equally hard time finding it).

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

Yes, one can do that only for simple detached houses (where one building has one housenumber), but not for many apartments (where one building has multiple entrances with multiple housenumbers, at least over here). But that was an aside, not a big issue, and probably not easily solved in SC (I can use EveryDoor to handle that, or leave notes)

The example I had today was that I was sitting in a cafe and I could see about 4-6 businesses across the street, but no buildings were mapped. Other than the one directly across from me, I couldn't really judge how along the surrounding businesses were.

Ah, that use case (sitting at a cafe and being bored while waiting for someone for example) I can understand you'd lose some precision; but I would guess that such is very tiny minority of mapping situation for most users?
I was thinking more of that when you are a pedestrian, you can stand up and walk to those amenities and map them without problem when standing in front of them. And in such case you'll actually see a sign saying if they're out of business or similar, and solve other quests related to them which you couldn't do while sitting on the other side of the street (like opening hours, cards acceptance, smoking allowed, etc.)

@westnordost
Copy link
Member

But that was an aside, not a big issue, and probably not easily solved in SC (I can use EveryDoor to handle that, or leave notes)

What would you do in EveryDoor to handle that?

@mnalis
Copy link
Member

mnalis commented Oct 6, 2022

What would you do in EveryDoor to handle that?

I think it does that automagically if you click close enough to the building outline inEntrances mode by "snapping to wall" at upload time; see for example Zverik/every_door#62

As another alternative approach, SCEE has Insert node into way functionality on long-press, which allows one to explicitly select a way and a position on it where they want to insert a node (and its tags). I actually prefer that one, as I see final result immediately (and may choose to correct or undo it before uploading)

@Katzenstreu
Copy link

This feature (showing some tiles with satellite images) would be also really helpful to enter house numbers or other things we can see from far. I don't enter private ground. But sometimes I don't know which building on the map it is. With the satellite image I could allocate the drawn buildings. Sometimes they aren't drawn correctly or some buildings or parts are missing.

Best regards
Tim

@d4f5409d
Copy link

d4f5409d commented Jan 9, 2023

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.

It would be good, because if we want to upload adresses where there are no buildings in OSM, you can add the address very accurately. This would help us to "address" 😅 these issues and allows us to work even when we are far away from our computers, where JOSMs oftem belong 😄

@mnalis
Copy link
Member

mnalis commented Mar 21, 2024

To note: SCEE (StreetComplete "Expert Edition" fork) does already include option to switch between aerial imagery+overlayed vectors and just regular vectors display (including ability to enter any custom TMS URL), so perhaps some of that could be re-used if it were to be included in StreetComplete.

Also, interested people can go try it out to see how well it would actually work for them in practice rather in theory, and leave feedback about what they miss and how it might be made better.


However I still see two big challenges when trying to offer that functionality to target StreetComplete audience:

  • satellite/aerial imagery will always have some offset (as noted e.g. in add functionality to show satellite map #56 (comment)), which can easily lead to much more misplacing then actually helping unless we first require user to align it (and keep re-aligning it) to actual on-the-map data
  • it would make StreetComplete much more likely to be used as armchair editor of choice, which (while perhaps not inherently bad in itself) would need better approach to handling source=survey in changesets (from easiest but least useftul solutions like completely omitting source attribute; to more complex but more useful like tracking which imagery was shown for which edits and when GPS was there and adding appropriate source and imagery_used changeset tags accordingly)

On a personal experience note, for myself it turned out to be very rarely useful in practice (coming from JOSM world, I acutely miss at least user-alignment, customizable transparency, and single-click switch), so I rarely actually choose to use it.

It does become useful where I'm in totally unmapped areas (e.g. not even buildings mapped, much less any small street-furniture-alike POIs; or areas which really are empty in the real world too) which also happens to have either:

  • very bad GPS signal accuracy (e.g. many tall objects blocking direct LoS to GNSS satellites), or
  • (more likely) unapproachable objects (e.g. widely-fenced areas with single POI like communication tower).

But for me, that happens to be quite rare combination to encounter in real life in my little part of the Europe. I certainly do not find use for it in more than 0.1% of my SCEE mapping, and even there, I would more often leave a note with picture and approximate location instead, and then use several different imageries and aligning techniques to add it properly at home in JOSM.

YMMV, of course!

@westnordost
Copy link
Member

Interesting insight, thank you for that.

@tordans
Copy link

tordans commented Mar 30, 2024

To reference from #5543 (comment)

(westnordost:) … That having said, nothing speaks against implementing being able to choose aerial imagery as background map in StreetComplete. It just has to be done by someone. I believe there is an open ticket for that around somewhere.
(In case you or someone else feels this is a good motivation to work on it right now, please post your intention first in that ticket, because there are a few things to consider before starting with that task I will write about then.)

@tordans
Copy link

tordans commented Mar 30, 2024

A quick experience report: I did a walk using the Buildings Overlay today in a rural area of Germany where buildings are well mapped but not perfect. I found myself switching to GoMap in order to orient myself on the aerial imagery. If there where a way to change the background for a quick glance at a different base layer, I would have done so and it would have made my mapping session with SC easier. My main issue in this case was, that I had to spent more time orienting myself than I wanted to and was still not sure that I was changing the right building. It was possible without arial imagery … but at a cost of attention, which I wanted to spend on the group I was walking with, not SC :-).

(I did not think to test SCEE in this case…)

@westnordost
Copy link
Member

westnordost commented Mar 30, 2024

Are addresses not displayed while thebuilding overlay is active?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests