Modify

Opened 16 months ago

Last modified 15 months ago

#7328 new enhancement

building_tools -> core?

Reported by: Zverikk Owned by: team
Priority: minor Component: Core
Version: latest Keywords: plugin, building_tools
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 (37)

comment:1 Changed 16 months 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 16 months ago by akks (previous) (diff)

comment:2 Changed 16 months ago by akks

  • Cc upliner added

comment:3 Changed 16 months ago by akks

  • Cc Upliner akks added; upliner removed

comment:4 follow-up: Changed 15 months 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 15 months 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 15 months 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 15 months ago by akks (previous) (diff)

comment:7 Changed 15 months ago by Zverikk

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

comment:8 Changed 15 months ago by anonymous

I'll happy with "D"

comment:9 Changed 15 months 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 15 months ago by Komzpa

What is "voting system"?

comment:11 in reply to: ↑ 10 Changed 15 months 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 15 months ago by skyper (previous) (diff)

comment:12 in reply to: ↑ description Changed 15 months 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 15 months 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 15 months ago by akks (previous) (diff)

comment:14 in reply to: ↑ 13 ; follow-up: Changed 15 months 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 15 months 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 15 months ago by akks (previous) (diff)

comment:16 Changed 15 months 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 15 months 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 15 months 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 15 months 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 15 months 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 15 months 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 15 months 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 15 months 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 15 months ago by akks (previous) (diff)

comment:24 in reply to: ↑ 23 Changed 15 months 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 15 months 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 15 months ago by akks (previous) (diff)

comment:26 in reply to: ↑ 25 ; follow-up: Changed 15 months 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 15 months 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 15 months 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 15 months 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 15 months ago by akks (previous) (diff)

comment:30 in reply to: ↑ 17 ; follow-up: Changed 15 months 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 15 months 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 15 months 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 15 months 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 15 months ago by akks (previous) (diff)

comment:34 Changed 15 months 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 15 months ago by akks (previous) (diff)

comment:35 follow-up: Changed 15 months 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 15 months 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 15 months ago by stoecker

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

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as new .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team. 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
The owner will be changed from team to anonymous. Next status will be 'assigned'.
Author


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

 
Note: See TracTickets for help on using tickets.