Urban Eye 3D – JOSM 3D Viewer Plugin

Uh, not really. Original phrasing of that principle was very unfortunate, and thus many people misunderstood it. The more correct term is “Don’t mistag for the renderer” or “Don’t lie to the renderer”.

Tagging correct data for a renderer (or router or any other data consumer), even if that data is used only by one single data consumer at some point in time, is not only fine, but encouraged. In fact, entering correct data which will be used by random data consumers is the whole point of OSM existence.

What is not okay, and the reason why that principle exist, is clearly given as an example on wiki above:

For example, if landuse=industrial shows up as a pink area on one of maps, and you have a flowerbed full of pink roses, then tagging your flowerbed as landuse=industrial would be incorrect and must be avoided. Instead, you should accurately tag the flowerbed with landuse=flowerbed and improve the renderers so they understand how to show it.

5 Likes

You are absolutely correct. As i answered to a specific part of LordGarySugar message, i think i should have phrased it better:

You should not refrain from tagging something just because some renderer already assumes this tag (incidentally correctly).

I hope that clarifies what i actually meant. Sorry for the confusion.

4 Likes

One more teaser :slight_smile:

Screenshot from development version, just an experiment, very far from release readiness.


However, UrbanEye3D 2.0 with trees and some other improvements will be released shortly after the new version of JOSM. JOSM guys are a bit behind schedule: 26.03

10 Likes

Hey everyone,

The new version of the plugin 2.0.0 Trees, Roads and Rivers is out!

this is a big update for the plugin and I have worked on it about 3 months. I hope you will like it. Here’s what’s new.

What’s New

1. 2D Ground Plane

Buildings no longer float. The ground surface is displayed with “flat” objects - roads, lawns, rivers, and lakes. This flat layer is rendered based on downloaded OSM data using a custom MapCSS style. Alternatively, a satellite background can be enabled, as before.

2. Trees

Now natural=tree shows up as a 3D tree.

  • Height is taken from the height tag. If height tag is missing, the circumference tag is used to estimate height.
  • Two tree textures are included: broadleaved and needle-leaved (based on the leaf_type tag).
  • More textures could be added for various species/genus – if you’re good with graphics, feel free to contribute!

3. Whole Multipolygons

Missing members of multipolygons and building relations can be downloaded automatically. Without this, the map often looked broken – like buildings cut in half or water spilling everywhere. The Building relation, which seemed completely useless, turned out to be good for something.

You can turn it off in the plugin preferences if multipolygons in your area are too large.

4. Background Processing

The UI no longer freezes when you load a large area. Everything is calculated in the background. It still takes time to render a big area, but at least JOSM stays responsive.

Contribute

This is a one‑person project, so any help is welcome:

  • Textures for more tree species. See some details here.
  • MapCSS improvements for the 2D layer. See here.
  • If you like this project, give it a star on GitHub ;)

Since it is the completely new version, bugs are possible. Please let me know if you spot some.

11 Likes

A big step from building viewer to full area.

Would you consider an GLB-file export some day?

1 Like

Would you consider an GLB-file export some day?

Only as a paid feature maybe :slight_smile:
I do not quite understand how it can make the plugin better.
What is the use case?

Since you added the trees, I see your plugin on the way from an object viewer to a full area viewer. If so, the 3D view you render could not only be used as edit-helper but to use the 3D view in applications. Exporting an area “tile” as a gilt/GLB file would enable that.

1 Like

I’ve created translations into German and Italian languages, as is customary in the 21st century, using AI.

Guys, could you please take a look? Does it make any sense?

@karlos, @ivanbranco maybe you could help me with this?
There just 32 strings in the plugin.

Version 2.1.0 Internationalization! is out!

Translations into the following languages have been added:

  • German
  • Italian
  • Slovak
  • Russian

Thank you all who contributed!

If you would like to translate the plugin in any other language, here is the pot file. We do not have any web UI for translations, but you can use PoEdit instead.

1 Like

Your plugin is very useful. Thanks a lot again.

3 Likes

@Pan, thank you too. Without editors the plugin would not be of much use.
Any features or enhancements you would like to see in the plugin?

Difficult to say as the renderer is already very good. One thing that might be useful for some would be the ability to edit the tags from the renderer itself. Clicking on a roof to choose a roof shape for example. Or the levels / height. This could make 3D tagging easier for those unfamiliar or prone to make typos (as I am).

4 Likes

Hi, not sure this is appropriate here, but anyway… I have completed my first 3D-church and noticed two things.

  1. If I give the tower a min_height of 10 instead of letting it start at the bottom, it will slightly change colour. It also seems that the apse and side annexes have a slightly darker colour.
  2. I haven’t figured out a practical way to not intersect 3D volumes. At the very least, I’d have to create roof only parts and intersect those.

You can take a look at the real thing here.

Suggestions for improvement from the pros are appreciated.

1 Like

it will slightly change colour.

It’s due to “fake” ambient occlusion effect. The plugin tries to make colours vary to make the picture more realistic and eye-pleasing. You do not like it, you may turn it of in plugin preferences or just by pressing Shift+Z (if you have many plugins installed, the sortcut could be changed by the josm to smthing else).

practical way to not intersect 3D volumes.

Bad news:
In many cases, especially in cases of complex roofs, there is none. The lesser evil is belived to create separate parts for roofs and intersect them only. I personally do not know, is it better of worse.

Good news:
In this particular case, you do not need those complications. Just 4 parts are quite enough. One for tower with dome roof, to parts for side extensions with skillion roofs, and just one part with hipped roof for everything else.

The plugin will do the rest:

roof:shape=hipped is very powerful (practically magical) and can handle most of the complex cases automatically.

Suggestions for improvement from the pros are appreciated.

I took the liberty of adjusting the model according to those considerations.

I’m impressed, didn’t know hipped can do all that. In this case, hippedand side_hipped seem to behave the same way. There’s a minor difference where the roof meets the tower, but I get the idea. Thanks for the quick reply.

1 Like

I believe it’s not about editing tags directly in the 3D window, but rather about select-by-click. One clicks on a building\part, and it gets selected, so that you do not need to find it in 2D. This is possible, I will see what I can do about that.

5 Likes

Hi,
Is there by chance an update on the Saltbox discussion?
It still seems odd that the OSM4D shows this as:

While Simple 3D shows it to be:

With the explicit note:
image

And Wikipedia sayst:

They almost convinced me that I should support saltbox as it described by the roof:shape=saltbox wiki page.
If anybody has to say something against it, it is your last chance :slight_smile:

Open questions are

  1. how to treat roof:height, is it height from ridge to upper eave or to lower eave. I think it could be the longer one.
  2. how to treat roof:direction. I think it could be direction of the longer slope :)

It still seems odd that the OSM4D shows this as

The problem with OSM4D is that it’s some kind of memorial page, it cannot be adjusted.

1 Like

The real discussion we need to have is about whether mansard rooves should have a flat top or a hipped top :sweat_smile:
Incidentally I was trying to work out how to tag a 3-sided flat topped mansard roof the other day and couldn’t find any documented tag or example - screenshots are attached of the shape I was trying to create (mocked up with skillion rooves).


Agreed with the above assumptions 1&2 for how to treat saltbox rooves. It would be useful to add information to the individual roof:shape wiki pages about the way roof:direction should be interpreted (roof:shape=saltbox doesn’t even mention roof:direction despite obviously needing it). I’m also thinking in respect to how roof:direction is interpreted when tagged on roof:shape=hipped and roof:shape=half_hipped.

1 Like

OSM4D page suggests that it should be triple_saltbox I wonder, however, if such roof exist in reality, they should have some name in natural language, should not they?