Modify

Opened 4 years ago

Last modified 2 months ago

#7328 reopened enhancement

building_tools -> core?

Reported by: Zverikk Owned by: team
Priority: normal Milestone:
Component: Core Version: latest
Keywords: plugin, building_tools, frequent Cc: Upliner, akks

Description

Why not integrate building_tools plugin into the core? Since we started integrating features like ImproveWayAccuracy, BT seems to be a great candidate: I doubt there are mappers without this plugin enabled.

Attachments (0)

Change History (50)

comment:1 Changed 4 years ago by akks

I agree. But it may need some refactoring - there are 10 files in it now.
What does it author, Upliner think?

Last edited 4 years ago by akks (previous) (diff)

comment:2 Changed 4 years ago by akks

  • Cc Upliner added

comment:3 Changed 4 years ago by akks

  • Cc akks added

comment:4 follow-up: Changed 4 years ago by Komzpa

I want this plugin in the core too and I want a better key for it than "B", "D" will be nice as it's empty now.

comment:5 in reply to: ↑ 4 Changed 4 years ago by Polyglot

Replying to Komzpa:

I want this plugin in the core too and I want a better key for it than "B", "D" will be nice as it's empty now.

I'm using this plugin all the time, that's why I liked to have it on the W key. D would be the perfect key shortcut for it.

And yes, it would be great to have it included in the core.

Polyglot

comment:6 Changed 4 years ago by akks

I vote for inclusion too. D key would be the best key, at least as optional one (messagebox after plugin installation).

Last edited 4 years ago by akks (previous) (diff)

comment:7 Changed 4 years ago by Zverikk

I'm for D, obviously -- for the reasons I wrote in the mailing list.

comment:8 Changed 4 years ago by anonymous

I'll happy with "D"

comment:9 Changed 4 years ago by skyper

Seems to me that many do not know or use the voting system.

Do we have to promote it better ?

comment:10 follow-up: Changed 4 years ago by Komzpa

What is "voting system"?

comment:11 in reply to: ↑ 10 Changed 4 years ago by skyper

Replying to Komzpa:

What is "voting system"?

Have a look at the head lines. You'll see two grey arrows, on up and one down, and a number inbetween. Every user has one vote per page and can vote for or against by clicking on the appropriate arrow. You can always change your vote later. After your vote the number should change by one up/down and one of the arrows turns its colour indicating your vote.

You need to login to be allowed to vote.

On https://josm.openstreetmap.de/report/14 you get an overview of tickets vote for so far.

Last edited 4 years ago by skyper (previous) (diff)

comment:12 in reply to: ↑ description Changed 4 years ago by skyper

Replying to Zverikk:

Why not integrate building_tools plugin into the core? Since we started integrating features like ImproveWayAccuracy, BT seems to be a great candidate: I doubt there are mappers without this plugin enabled.

As I often use JOSM on slow systems and Java already uses quite some resources I prefere a small main core. Otherwise, I might need to switch to merkaartor.
Right now, I have different preference dirs with different settings and can always choose to start on with plugins for buildings (building, housenumbers, terracer, (cadastra)) or a almost plain one with only utils2.

Please, make this integration optional, if possible.

Yesterday, I was mapping a bit in syria and did not need the buildings tool at all, mapping rivers,streets and power-lines.

comment:13 follow-up: Changed 4 years ago by akks

If we want smaller core, why do we have ImproveWayAction and ParallelWay in it?
Building tools is not for just building creation generally, but for drawing aligned Rectangles.
It can be changed a little to create untagged rectangles optionally.

Graphical editor without rectangle tool looks poor - that is why buildingtools is installed by 33% of users, taking the first place...

Creating smaller and especially faster version should also be considered -- but there are lot of much more heavier CPU and memory consuming functions than inactive map mode (like statusbar updating and cursor changes/highlighting).

Last edited 4 years ago by akks (previous) (diff)

comment:14 in reply to: ↑ 13 ; follow-up: Changed 4 years ago by skyper

Replying to akks:

If we want smaller core, why do we have ImproveWayAction and ParallelWay in it?

Was not my decision.

Building tools is not for just building creation generally, but for drawing aligned Rectangles.
It can be changed a little to create untagged rectangles optionally.

Graphical editor without rectangle tool looks poor - that is why buildingtools is installed by 33% of users, taking the first place...

What's about extruder mode ? I normally use it.

Creating smaller and especially faster version should also be considered -- but there are lot of much more heavier CPU and memory consuming functions than inactive map mode (like statusbar updating and cursor changes/highlighting).

I already can disable some of them.

Do the new core modes and building tools work with other projections than mercator ?

comment:15 in reply to: ↑ 14 Changed 4 years ago by akks

Replying to skyper:

What's about extruder mode ? I normally use it.

It is almost unusable by novices, 4-5 times slower in use and does not add default tags. It is really hard to create hundreds of buildings without some tool.

Do the new core modes and building tools work with other projections than mercator ?

As far as I know, all of them work in EastNorth space, just like DrawAction :)

Does archive size + 40k mean anything in our days?

We should provide more ways to reduce consuming functionalty, I agree with it, but have you seen better rectangle creator than BuildingTools?

Last edited 4 years ago by akks (previous) (diff)

comment:16 Changed 4 years ago by skyper

Replying to akks:

Replying to skyper:

What's about extruder mode ? I normally use it.

It is almost unusable by novices, 4-5 times slower in use and does not add default tags. It is really hard to create hundreds of buildings without some tool.

I used to use terracer but stopped, cause it is not maintained and has some critical bugs.


Do the new core modes and building tools work with other projections than mercator ?

As far as I know, all of them work in EastNorth space, just like DrawAction :)

Does archive size + 40k mean anything in our days?

Not really, but it easyly sums up.

We should provide more ways to reduce consuming functionalty, I agree with it, but have you seen better rectangle creator than BuildingTools?

As stated above I am not that familiar with BuildingTools and have to say that in the area I am mapping, even buildings are often not rectangled. E.g. I do not need a rectangle tool that often.

comment:17 follow-up: Changed 4 years ago by akks

Just try it for 1 day - trace about 100 houses from Bing - and it will become impossible to live without it. :)

comment:18 follow-up: Changed 4 years ago by Larry0ua

Agree to have BT in core.

I think we should investigate which part of JOSM takes more memory and try optimizing it better than refusing useful functions :)

And more - why not to take statistics which MapModes are used and which are not? As Delete mode was moved from 'D' shortcut, may we move 'X' too? I hardly use it.

comment:19 in reply to: ↑ 18 ; follow-up: Changed 4 years ago by Zverikk

Replying to Larry0ua:

And more - why not to take statistics which MapModes are used and which are not? As Delete mode was moved from 'D' shortcut, may we move 'X' too? I hardly use it.

If you use BT, but not extrude tool, then you draw very low-quality buildings. I use those tools equally often. So I'm against this proposal.

comment:20 Changed 4 years ago by Polyglot

The eXtrude tool is very useful indeed. Not that when in eXtrude mode, it is possible to add nodes on the contour by doubleclicking. No need to switch modes all the time anymore.

Polyglot

comment:21 Changed 4 years ago by Larry0ua

my comment about X tool was just an option, I see that it is useful and no need to remove it :)

thanks about info about dblclick, that may be useful.

comment:22 Changed 4 years ago by skyper

Still do not understand, why it is important to have it in core.

Maybe, a solution would be to have some default plugins installed with core. This way, you could still disable them but they would be maintained by the josm team (e.g. shortcuts, update on core changes ..).

comment:23 follow-up: Changed 4 years ago by akks

By the way, disabling core actions, mapmodes, or toggle dialogs can be implemented easily. No one ever asked to do it) Do you think it can help to work on slow machines?

All we need to do is to add "if" to their initialization lines:

        addMapMode(new IconToggleButton(new ExtrudeAction(this), true));
        addMapMode(new IconToggleButton(new ImproveWayAccuracyAction(Main.map), true));
...
        addToggleDialog(filterDialog = new FilterDialog());
        addToggleDialog(new ChangesetDialog(this), true);
        addToggleDialog(new MapPaintDialog());

and make proper configurator.

Last edited 4 years ago by akks (previous) (diff)

comment:24 in reply to: ↑ 23 Changed 4 years ago by bastiK

Replying to akks:

By the way, disabling core actions, mapmodes, or toggle dialogs can be implemented easily. No one ever asked to do it) Do you think it can help to work on slow machines?

All we need to do is to add "if" to their initialization lines:

        addMapMode(new IconToggleButton(new ExtrudeAction(this), true));
        addMapMode(new IconToggleButton(new ImproveWayAccuracyAction(Main.map), true));
...
        addToggleDialog(filterDialog = new FilterDialog());
        addToggleDialog(new ChangesetDialog(this), true);
        addToggleDialog(new MapPaintDialog());

and make proper configurator.

If you don't click it, this should just be a button doing nothing. I doubt there is any performance difference and if there was, this would clearly be a bug and must be fixed.

These switches are easy to add, but also useless. We should only add options that have a measurable effect, like for target highlighting.

comment:25 follow-up: Changed 4 years ago by akks

That is exactly why "No one ever asked to do it" ))

So what about one extra very useful button - building_tools (or at least Rectangle)? :)

Last edited 4 years ago by akks (previous) (diff)

comment:26 in reply to: ↑ 25 ; follow-up: Changed 4 years ago by bastiK

Replying to akks:

So what about one extra very useful button - building_tools (or at least Rectangle)? :)

We can include it, but the menu entry 'Edit > Set building size' is not a good solution. I'm not completely sure, how to do it better - maybe move the dialog to the preferences. Maybe a new mapmode toolbar.

In gimp you have tools in block at the upper left and tool specific settings below. In Photoshop (IIRC) you have a row of tools at the upper left and a mode specific toolbar below the main toolbar.

comment:27 in reply to: ↑ 26 Changed 4 years ago by akks

Replying to bastiK:

Replying to akks:

So what about one extra very useful button - building_tools (or at least Rectangle)? :)

We can include it, but the menu entry 'Edit > Set building size' is not a good solution. I'm not completely sure, how to do it better - maybe move the dialog to the preferences. Maybe a new mapmode toolbar.

In gimp you have tools in block at the upper left and tool specific settings below. In Photoshop (IIRC) you have a row of tools at the upper left and a mode specific toolbar below the main toolbar.

I agree. Customizing size (and missing customization of tags - not only building=yes is needed!) should be placed somewhere... Introducing toolbar can have great influence on interface, since other mapmodes parameters can be also exposed (snapping etc.). But we need to have a good design.

comment:28 in reply to: ↑ 19 Changed 4 years ago by Larry0ua

Replying to Zverikk:

Replying to Larry0ua:

And more - why not to take statistics which MapModes are used and which are not? As Delete mode was moved from 'D' shortcut, may we move 'X' too? I hardly use it.

If you use BT, but not extrude tool, then you draw very low-quality buildings. I use those tools equally often. So I'm against this proposal.

How about an idea to merge current eXtrude tool with BuildingTools into one tool and map it to X key? That tool should act as extrude if there is some line under cursor, and as BT if there is no. That way we free one more shortcut and no need to switch between X and BT when dealing with complex buildings as by Zverikk comment - I see that as really annoying BT->X->BT->X... and there might be useful to have all-in-one.

One thing to think about is how to deal with all menu actions of BT etc - may they live in Preferences or menu/toolbar? Does anyone change these configs frequently?

comment:29 Changed 4 years ago by akks

If it is to be merged with X, then tag configurantion may be essential (not only building=yes) and it needs to be accessible faster then Preferences... Idea needs discussion, but I like it at first glance. X is not working when nothing is selected...

Last edited 4 years ago by akks (previous) (diff)

comment:30 in reply to: ↑ 17 ; follow-up: Changed 4 years ago by skyper

Replying to akks:

Just try it for 1 day - trace about 100 houses from Bing - and it will become impossible to live without it. :)

I tried BT and it does not work at all for my needs:

  1. I often have buildings sharing walls but there is no way to add nodes to ways or use existing nodes.
  2. My buildings often have rectangled bays (no problem with extruder but BT fails).
  3. I use associatedStreet relations but BT does not support relations when applying housenumbers.

Conclusion: BT will only work for me right now for single-build, simple houses. Even looking for other objects I do not find many closed ways that simple.

A statistic about installed plugins does not say much about how often it is really used. Speaking for myself, I often forget about disabeling plugins after I tried them and do not use them at all.

By the way: BT should not delete address nodes but use the node as one corner node with its properties moved to the way.

comment:31 in reply to: ↑ 30 ; follow-up: Changed 4 years ago by Polyglot

Replying to skyper:

Replying to akks:

Just try it for 1 day - trace about 100 houses from Bing - and it will become impossible to live without it. :)

I tried BT and it does not work at all for my needs:

  1. I often have buildings sharing walls but there is no way to add nodes to ways or use existing nodes.

I found it is possible to reuse one node. The other node needs to be joined manually or merged.

  1. My buildings often have rectangled bays (no problem with extruder but BT fails).
  2. I use associatedStreet relations but BT does not support relations when applying housenumbers.

There certainly is room for improvement.

Conclusion: BT will only work for me right now for single-build, simple houses. Even looking for other objects I do not find many closed ways that simple.

I'm using it to draw sports pitches and bus stop shelters.

A statistic about installed plugins does not say much about how often it is really used. Speaking for myself, I often forget about disabeling plugins after I tried them and do not use them at all.

By the way: BT should not delete address nodes but use the node as one corner node with its properties moved to the way.

I agree with you there. As I said, there is room for improvement, but I find that I'm using the terracer plugin a lot. For the associatedStreet relations I use the associatedStreet plugin, which saves an enormous amount of time when converting a an addr:interpolation vector to an entire group of adjacent houses.

Polyglot

comment:32 in reply to: ↑ 31 Changed 4 years ago by skyper

Replying to Polyglot:

Replying to skyper:

Replying to akks:

Just try it for 1 day - trace about 100 houses from Bing - and it will become impossible to live without it. :)

I tried BT and it does not work at all for my needs:

  1. I often have buildings sharing walls but there is no way to add nodes to ways or use existing nodes.

I found it is possible to reuse one node. The other node needs to be joined manually or merged.

Saddly these houses are often shifted. Hence I need four nodes in one row where the middle ones are part of two buildings.

I'm using it to draw sports pitches and bus stop shelters.

No problem with extruder

By the way: BT should not delete address nodes but use the node as one corner node with its properties moved to the way.

I agree with you there. As I said, there is room for improvement, but I find that I'm using the terracer plugin a lot. For the associatedStreet relations I use the associatedStreet plugin, which saves an enormous amount of time when converting a an addr:interpolation vector to an entire group of adjacent houses.

Did not try associatedStreet-plugin lately but I still use terracer even though it has quite some bugs and is not maintained at the moment.

comment:33 Changed 4 years ago by akks

Ow, I found "advanced" properties of buildingtools, added in April 2011 :). Tags are already configurable (but that dialog takes too much place). I like idea of merging with Extrude (X), but do not know what to do with addressation features.

I also noticed hardcoded Mercator and does not know if it can cause some problems.

Last edited 4 years ago by akks (previous) (diff)

comment:34 Changed 4 years ago by akks

We should decide what to do next before proceeding.

What do you think about adding only basic aligned rectangle functionality to Extrude mode (X)? Or should we consider include BuildingTools as separate action?

Last edited 4 years ago by akks (previous) (diff)

comment:35 follow-up: Changed 4 years ago by stoecker

Has at least 1 and a half week time. We are in stabilization phase now :-)

comment:36 in reply to: ↑ 35 Changed 4 years ago by akks

Replying to stoecker:

Has at least 1 and a half week time. We are in stabilization phase now :-)

It will take more time anyway :) What is your principal opinion?

comment:37 Changed 4 years ago by stoecker

In principle it should be integrated in core, but which parts and how I do not know.

comment:38 Changed 3 years ago by Zverikk

Shouldn't this issue be closed?

comment:39 Changed 3 years ago by stoecker

  • Resolution set to fixed
  • Status changed from new to closed

comment:40 follow-ups: Changed 3 years ago by Zverikk

  • Resolution fixed deleted
  • Status changed from closed to reopened

I've just found out the plugin still hasn't been integrated into the core. WTF?
Is it less important than ImproveWayAccuracy plugin, or that that angle snapping feature?

comment:41 Changed 3 years ago by akks

Extrude action does already have its own rectangle-generating code and angle snapping (there will be 3 angle snappings if we include buildingtools: draw mode, extrude mode, building mode).

The code of the plugin is not ready to integration with something else, but can be included "as is" if decided.

comment:42 in reply to: ↑ 40 Changed 3 years ago by skyper

Replying to Zverikk:

I've just found out the plugin still hasn't been integrated into the core. WTF?
Is it less important than ImproveWayAccuracy plugin, or that that angle snapping feature?

Yes, I never use it, as it is not flexible enought and a do not find many buildings which have only four corners. We should better promote the extruder mode which is often an unknown mode.

comment:43 Changed 3 years ago by Polyglot

I hadn't realised it was possible to draw a line and extrude it into rectangle. The advantage of extruding, is that double clicking on one of the sides, will add a node and then one can continue extruding an extension to that building.

The disadvantage is that tags aren't added automatically. I use the buildings plugin to add bus shelters and it's very convenient they get amenity=shelter, shelter_type=public_transport right away.
This could be remedied by creating a preset and adding a button for it on the toolbar.

The buildings plugin also adds the addr:housenumber if the building is drawn over a node with addr: tags. I'd prefer it to make the node part of the outline, in order to preserve history, although I realise it's hard to find out in retrospect which node contains that history, so the usefulness remains limited.

The other advantage of the buildings plugin, is that the new building can be aligned to 2 nodes, a way or another building, drawing additional buildings with a mere 2 clicks.

I had gotten used to change modes all the time, going from s to a to b, then to x. It works quite nicely.

I think both extrude and buildings mode have their place in JOSM. There is an overlap, but extrude can't replace the buildings plugin entirely.

Polyglot

comment:44 in reply to: ↑ 40 Changed 3 years ago by Don-vip

Replying to Zverikk:

I've just found out the plugin still hasn't been integrated into the core. WTF?

We're a few people with limited time and we've got a thousand tickets to look after, and complicated ones take some time.

I didn't look especially at this one, but as far as I understand, we need to define what features can be imported without:

  • being redundant with existing core features
  • bringing new core defects (#7265 and #7468 must be fixed before event thinking of integrating the plugin)
  • bringing new missing javadoc (although I didn't have a look to plugin code yet)

comment:45 Changed 3 years ago by skyper

Should have used the plugin from time to time:

  • another bug to fix #8781

On more reason for not using it.

comment:46 Changed 3 years ago by anonymous

One more reason to fix the bug. The plugin itself is fine, great and its usage should be promoted.

comment:47 Changed 3 months ago by openstreetmap.org-user-d1g

  • Keywords frequent added

comment:48 Changed 3 months ago by openstreetmap.org-user-d1g

Many parts of the globe still do not have buildings in OSM and we won't have good cadastral data sources (sometimes there none) for these regions (ever).

Because of the reason above, we should have this mode/tool in core (right below "draw a node" and "selection" mode).

comment:49 Changed 3 months ago by openstreetmap.org-user-d1g

  • Priority changed from minor to normal

comment:50 Changed 2 months ago by Zverikk

Despite som of josm devs thinking this plugin is redundant, it is included in many tutorials as a must-have. Examples:

http://josm.ru video tutorial (well, that's mine, so it may not count)
https://www.mapbox.com/blog/fast-building-tracing/ from mapbox
http://learnosm.org/en/josm/more-tools/ learnosm
http://hotosm.github.io/tracing-guides/guide/piura-english-josm-part1.html HOT tracing guide
http://www.giscorps.org/documents/UsingJOSM.pdf giscorps
http://www.openstreetmap.org/user/AngocA/diary/38466 something in Spanish posted yesterday
Video tutorials: https://www.youtube.com/watch?v=DEQo4Jm-aPY and https://www.youtube.com/watch?v=Zff5P-QdWIQ

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
Action
as reopened The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user. Next status will be 'new'.
Next status will be 'needinfo'.The owner will change to Zverikk
as duplicate The resolution will be set to duplicate. Next status will be 'closed'.The specified ticket will be cross-referenced with this ticket
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.