-
-
Notifications
You must be signed in to change notification settings - Fork 357
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
Support roof orientation #1063
Comments
As it seems most renderers just use the longest width of a house as the orientation of the roof, which is okay, IMHO. As for your suggestion: How do you imagine this to be done in StreetComplete? As a new quest`As an addition to the existing roof quest? (If so, at which position should it ask that?) Generally I'd tend to say that this is just an additional tag, which may be added by later OSM mappers and is not really suited for SC. |
Other rendering that is off is https://osmbuildings.org/?lat=52.06345&lon=5.13176&zoom=20.0&rotation=-99&tilt=45 and it is also like this in 3D Mapbox. They should reder as https://www.google.com/maps/@52.0635645,5.1321129,3a,75y,253.78h,87.42t/data=!3m6!1e1!3m4!1sRMlRiMt6C2sFb0Zz5C_a9w!2e0!7i13312!8i6656 To answer your question, yes, it assumes the default for rendering the roof. IMHO it is worse than rendering no roof. In the Netherlands, most houses are small in width and long in depth and are positioned in a row with a shared roof running along the houses in that row. Houses for which the default would work are mainly the historical buildings along canals. Therefore, supporting this additional tag would enable properly represent not only the roof but make the feeling of the rendering appropriate. Why query (in another quest) for roof shape if the result is not that useful when orientation is missing? This is a detail that other ways of mapping (e.g. via aerial photography) is not so easy. SC is ideal for this as the use has already looked at the house for the number of levels and how the roof looks. In order to for SC to formulate this in a easy quest, I would say, offer an image representing roof orientation along and roof orientation across (and one option for 'Can't say'). It is only useful ask the user for roof shapes:
|
So you want to suggest anew quest? |
Given
from https://wiki.openstreetmap.org/wiki/Simple_3D_buildings#Roof and that it should be easy to add from aerial images I am not convinced that it would be a good quest. |
That would mean that after a user has done a lot of quests related to number of floors in a building and then adding the shape of a roof, he or she needs to go home, use another tool such as iD editor, locate all the buildings for which these quests were done, find the areal imagry (which is not always available at proper resolution) and manually add this detail. Isn't that resulting in much more work and taking the fun out of SC? To answer rugk's question, yes, it would be another quest. I will fill out the template and I'm willing to implement it. |
You'll see if you fill out the issue template and give instructions that it would (e.g. I doubt you can fulfill the "no spam" requirement) possible not work in StreetComplete. |
Perhaps this quest only applies to the Netherlands. Here most of the houses with such a roof have a different orientation. See https://translate.google.com/translate?sl=nl&tl=en&js=y&prev=_t&hl=en&ie=UTF-8&u=https%3A%2F%2Fnl.wikipedia.org%2Fwiki%2FDoorzonwoning&edit-text=&act=url and https://translate.google.com/translate?hl=en&sl=nl&tl=en&u=https%3A%2F%2Fnl.wikipedia.org%2Fwiki%2FRijtjeshuis This is very unlike the Netherlands: https://upload.wikimedia.org/wikipedia/commons/6/6f/Numbers_341_to_385_Lordship_Lane_N17.jpg This is very like the Netherlands: https://upload.wikimedia.org/wikipedia/commons/thumb/c/cb/Agnetapark_delft.jpg/1024px-Agnetapark_delft.jpg and https://upload.wikimedia.org/wikipedia/commons/f/fc/Tuinstad_Slotermeer.jpg |
We don't need Google Translate if the article you link is also available in English (as for the second one): https://en.wikipedia.org/wiki/Terraced_house (so maybe not only Netherlands…?) Here is also a DeepL translation of the first one. |
The translated page has other images and is less focused on the Dutch situation. Thanks for the DeepL link, didn't know yet about that site. |
See #1063 (comment) |
If NL has other defaults this should be integrated into the visualisation. |
It is not an official default and it does vary. More historic places have the default as it is now. Houses from after WWII mainly have this feature, but again, not all. |
I think we should think about adding this as an additionally quest asked right behind the roof question. We could just rotate the small pictograms according to the orientation of the building in the map view. This should be dead easy for the users. |
Until now @westnordost always declined such "follow-up" questions. And I think that's good, because either make a new quest and also apply it to buildings, which already have a roof specified; or not. Follow-up questions are also just yet another thing you have to click on. And may have similar restrictions than new quests – e.g. "no spam": It still makes no fun (or UX) to click on "no" after 80% of the roof quests you solve. What could be done is to somehow integrate it into the roof quest that does not need another button. "small pictograms according to the orientation" sounds like the right direction. I think of this as the map moves for the bicycle quest… I am just not sure how to make iot clear to the user how to rotate the map/when to rotate and what effect this rotation has… Or, ye again, maybe an "other answer"? |
Well, with follow-up I meant a quest directly located behind the first one. :) If you dislike it, you can just deactivate it and SC will never bother you again. :) |
BTW we still have no actual issue template filled out for this quest suggestion – if one thinks this should be a new quest. This whole issue is rather vague… What is finally the imagined way for SC to do? @PanderMusubi How do you imagine this?
@RubenKelevra So this is a "new quest" as usual then. "no spam" is still unsolved. |
Well, if a new quest is considered "spam" - which I don't agree on (in this case), we could add two arrows at a corner of the roof-type question, make it able to turn the pictograms by 90° back and forth. The pictograms need to be rotated like the building is showed on the map like I already said. So we would need some kind of 3D pictogram rotating in 3D... I don't know if this is possible to implement. |
I think extending an existing quest is rather a bad idea because you have to teach the user somehow that now an additional information is required and there are maybe some users who don't even see that something changed... |
@RubenKelevra did you consider that it is often not actually visible for the surveyor which side of the building is the long and which is the short side? Only dependent on this information, a UI like you propose would make sense. The way I see it is that the only UI that makes sense is to show a preview of the building roof in the same orientation as the map, like for the cycleway quest (or even on the map). As you ascertained yourself, this is only possible with a 3D-model. The models are so relatively simple that they may be defined even in code, the "3D roof pictogram view" would need to be implemented using a I could imagine that the current roof shape quest is modified to have this kind of 3D-view and add a button that rotates the roof by 90°. By default, the building is shown in the "roof-along" orientation and if the user presses no further buttons, it is also tagged that way explicitly. The solution as a separate quest would have this "no spam" problem. Yet, if the quest asks simply "is the roof more like this or like this?" (showing two 3d previews), it's at least answered quickly. |
@ENT8R well, we can just add a fullscreen hint, highlighting this change, to inform users about the change. @westnordost if the user is able to observe the basic roof shape, the user would also be able to tag the roof orientation and vice versa. But regardless of the implementation, if the user is not able to observe it, he/she should not answer it. :) Edit: Your idea with a default orientation "along the street" would require a detection of the orientation of the street. Maybe it's easier to ask the user explicitly that: We just draw a pictogram of a street in front of the building and create a second pictogram of the building the a roof towards the street on the 90° image. This would skip the 3D part completely and so do not overcomplicate things internally. :) |
GeneralAffected tag(s) to be modified/added: roof:orientation ChecklistChecklist for quest suggestions (see guidelines):
It improves 3D rendering of houses a a major way. See also https://taginfo.openstreetmap.org/keys/roof:orientation#values where the values Ideas for implementationSimilar to Element selection: Probably concerns all countries. Metadata needed:
See also https://taginfo.openstreetmap.org/keys/roof:shape#values All other values should not be used as precondition. Proposed GUI: Following options could be presented:
Personally I would present it in a general way, although the use needs to look also at the shape of the building on the map in order to determine the roof's orientation. Perhaps the ratio can already be calculated for the user in order to more easily select the proper answer. That idea of along the street does hold some value which can be applied here, albeit that it would only work for houses which are in a row and not on the corner of a street. But using the proper pictogram according to the already calculated ratio would make this less difficult. |
@PanderMusubi Wat, did you read my last comment? Perhaps I wasn't clear, so I can elaborate based on your sketch: Assume you stand in front of the house pictured on the lower right. From that point of view, you can see how broad the house is, but not how long it is - it is not transparent. In other words, you can't see if |
Yes, I agree with you, some cases it is not easy to see from the street. Usually it is best seen from a house on the corner of such row of houses. So a user should be presented the 'can't say' option in such way that it is not a loss or shame to choose that. The ratio This detail has indeed some challenges. On taginfo, I also found some values related to |
No, just read and understand my comment: #1063 (comment) With the addition: Whether to use |
I see what you mean by not making a separate quest out of it, but combining it. The addition I made was according to the template and try to make the quest as atomic as possible and not yet anticipate how the implementation would be. |
Just as a side note for the implementation: |
I can confirm that in at least some cities in Germany it is not clear if @HolgerJeromin It could also be the case that the building outline is updated when better imagery is available and thus the interpretation of |
One option would be the use of https://wiki.openstreetmap.org/wiki/OSM-4D/Roof_table, but as far as I can see this would require to edit the path for the building. |
@tordanik is there a way to create a 3d object of a house with a certain roof shape using some kind of (small) library? That would be great, then I could just feed the outline, floor levels/height, roof levels and hsape etc to that library and have returned an OBJ that I can feed to OpenGL. |
Turning a building outline + tags into an OBJ sounds exactly like a job for OSM2World . :) As you would only need the core module, the size wouldn't have to be particularly large. If size is really critical, we could strip it down further by removing all the features besides buildings. I do not currently offer an Android build, but helping out StreetComplete might just be the perfect reason to change that. Use as a library is firmly within the project's intended scope, so it would fit well with my plans. I'd be happy to accommodate requirements for the library's interface and the visual aesthetics. Feel free to reach out to discuss details! |
no Android build necessary, a Java library is fine as well I would say. I posted ticket with a rough idea how the interface could look |
Just to say that adding this in would be useful for terraced houses in the UK, where again many, perhaps most, will be gabled but with the ridge parallel to the short side. I agree that presenting the user with a view of the roof oriented to the map, as for pavements, cycle lanes, etc. is the way to do it. If the 3d model was too hard to implement then could a simple ridge line be shown on the building? |
@tommycrock we actually have already "3D models" of the buildings, we need to rotate them to be a top-down view: The major task would probably be to determine the orientation of the building itself, as there are very complex building shapes out there. Maybe we can restrict this first to simple 4 point buildings? |
I had assumed that in the app those were just raster images and that presenting them dynamically rotated to the angle of the building might be awkward. Yes, I hadn't thought about the complexities of building shape in relation to determining this, and that they often won't have been (or actually be) squared. I guess you need to try to determine the longest segment, use that for orientation, then find a rectangle that encompasses the whole building (off the top of my head). Perhaps if it is square or near-square orientation shouldn't be specified as there isn't a clear interpretation. Alternatively, using the compass points a lot of this complexity falls away and leaves more readily interpretable tags (although I don't know how well they are supported). |
@tommycrock wrote:
Yeah, That's why my 3D buildings were in quotes. But I'm not sure if they are SVGs or raster images, but we could create similar-looking ones just from the top view.
This won't work. Have a look at these examples and try your algorithm: https://www.openstreetmap.org/way/99536366 I think actually We might try to find pretty much parallel lines in two directions. If enough percentage of the building is aligned in 2 directions, we can take the average and rotate the building image accordingly. With the |
About those examples, I'm not sure they're relevant as the answer isn't going to be a basic roof type with a ridge in a particular orientation. From eyeballing the 2nd and 3rd it would work well enough but anyway would be irrelevant. The first it would hopefully deliberately fail as there are equal length segments all round, so those options don't need to be presented. Yes, it was direction I was suggesting would be a better tag to use. |
The only reasonable way forward to improve this is to offer a preview of how the building will look like - maybe even superimposed on the map itself when selecting the basic shape and orientation. And this is best done by a library based off Osm2World, i.e. this is blocked by tordanik/OSM2World#171 |
Given enormous effort required to implement this and how often such data would be used: is it worth keeping open? I would not be against including it if someone would somehow implement it but I would close this issue. |
Well it's blocked. But when it's unblocked, it should be quite straightforward to do |
I subscribed to tordanik/OSM2World#171 and will reopen this issue once it is implemented |
Though note that it is only for reopening, I will unassign once I will do this |
You certainly make it complicated for yourself. You close it to get your mind off it / get it off the table, but then you assign yourself so to keep it in mind. |
@westnordost Well, @smichel17 assigned me and I do not really see point of that. To remember it I watchlisted relevant issue on osm2world |
I assigned @matkoniecz kind of on impulse 😅 . I figured it might be useful to indicate that someone was tracking the upstream issue. If that turns out to be the case, we can do it more. If it's not useful, we can forget about it and not do it again. I thought it would not make much of a difference for "getting off your mind" because it is closed; the only real difference it makes is when looking at issues with the blocked label, where you can now see that someone is on top of watching this one. I didn't comment because I didn't want to create more noise in the issue (I have now spent way longer writing this comment than I spent thinking before I clicked the assign button), but I guess that has failed 🙃 |
Please support roof orientation. For example, rendering of roofs is completely off without this tag, see for example http://demo.f4map.com/#lat=52.0635927&lon=5.1341593&zoom=21 where in reality it is one roof running from left to right in that view.
Documentation is scarce but found at https://wiki.openstreetmap.org/wiki/Simple_3D_buildings#Roof However, more than 250.000 houses have this tag to facilitate proper roof rendering, see https://taginfo.openstreetmap.org/keys/roof%3Aorientation#overview
The text was updated successfully, but these errors were encountered: