GithubHelp home page GithubHelp logo

areaselector's Introduction

JOSM Area Selector Plugin

JOSM area selector is a plugin to help creating buildings and other areas from existing imagery. Currently creating buildings is a manual task which takes much time. This plugin should help on that task.

Documentation

You can find out more about how to use the plugin and how it works in the project Wiki.

If you want to know how to configure the plugin, you can look at the Configuration Wiki page.

Building from source

Checkout the JOSM source, compile it and checkout the plugin source:

svn co https://josm.openstreetmap.de/osmsvn/applications/editors/josm josm
cd josm/core
ant clean dist
cd ../plugins
rm -rf areaselector
git clone https://github.com/JOSM/JOSM-areaselector.git areaselector
cd areaselector
ant clean install

Now Restart JOSM and activate the areaselector plugin in your preferences. Under Tools you should now see a new Tool called "Area Selector".

Details about plugin development can be found in the JOSM wiki.

License

This plugin was developed by Paul Woelfel (r00tat) and Thomas Konrad (thomaskonrad). You can contact us on github.

This software is licensed under GPL v3.

Third party resources

For image manipulation Marvin Project is used. The code was rebundled as jar files to make it easier to include. The MarvinPluginLoader was extended to search for already loaded classes first, before loading Plugins directly from jar files. The source is included in the jar files.

The second image manipulation library, which is also used to detect polygons is boofcv. This software is licensed under Apache License, Version 2.0.

The icons are based on Tracer Plugin.

areaselector's People

Contributors

don-vip avatar klumbumbus avatar miurahr avatar nlthijs48 avatar r00tat avatar simon04 avatar stoecker avatar tsmock avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

areaselector's Issues

Shouldn't Distance tolerance setting be in m or cm?

Shouldn't Distance tolerance setting be in m or cm?
In pixels, it depends on zoom factor right?
A small multiplication to add to the program.
But not so easy to figure pixels for the mapper.
In line with the SPW server tuning (other message),
I modified tolerance but I could not make much sense out of it.
btw, where are the doc improvements you spoke of?

Preference Editor

Create a preference editor, so algorithm values can be adjusted and maybe the TMS/WMS service can be selected.

Visueller Hinweis dass Berechnung stattfindet

Hallo,

wenn man auf ein Gebäude klickt, kann es manchmal bis zu 2,3 Sekunden dauern bis der Gebäudeumriss als Way dargestellt wird. Es wäre gut, wenn angezeigt werden würde, dass gerade eine Berechnung stattfindet. Es ist mir schon öfters passiert, dass ich dann noch ein weiteres Mal in einen Gebäudeumriss geklickt habe, weil ich dachte, die erste Eingabe wurde nicht erkannt, was darin resultierte, dass ich dann zwei Ways hatte.

No matching areas using Bing imagery

Hi,
I am trying to use this areaselector plugin with Bing aerial imagery and, regardless of what I click on, I get a large square box. It would appear that areaselector is not detecting any imagery or colours at all.

I am using JOSM version 11114 on Mac OS X 10.9 with Bing aerial imagery. I have not been able to test this with other image sources.

Here are some logs:

20:06:15.224 [AWT-EventQueue-0] INFO org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction - mouse clicked java.awt.event.MouseEvent[MOUSE_CLICKED,(622,335),absolute(670,413),button=1,modifiers=Button1,clickCount=1] on org.openstreetmap.josm.gui.MapView[,0,0,878x845,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=java.awt.Dimension[width=10,height=0],preferredSize=]
2016-10-11 20:06:15 INFO org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction:129: mouse clicked java.awt.event.MouseEvent[MOUSE_CLICKED,(622,335),absolute(670,413),button=1,modifiers=Button1,clickCount=1] on org.openstreetmap.josm.gui.MapView[,0,0,878x845,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=java.awt.Dimension[width=10,height=0],preferredSize=] []
20:06:15.314 [AWT-EventQueue-0] INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer - Using following params for algorithm: colorThreshold=14 toleranceDist=4.5 toleranceAngle=0.41887902047863906
2016-10-11 20:06:15 INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer:146: Using following params for algorithm: colorThreshold=14 toleranceDist=4.5 toleranceAngle=0.41887902047863906 []
20:06:15.560 [AWT-EventQueue-0] INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer - Found 0 matching polygons
2016-10-11 20:06:15 INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer:794: Found 0 matching polygons []
20:06:15.561 [AWT-EventQueue-0] INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer - Falling back to custom detection
2016-10-11 20:06:15 INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer:161: Falling back to custom detection []
20:06:15.561 [AWT-EventQueue-0] INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer - point color: java.awt.Color[r=0,g=0,b=0]
2016-10-11 20:06:15 INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer:165: point color: java.awt.Color[r=0,g=0,b=0] []
20:06:15.562 [AWT-EventQueue-0] INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer - extracting marvin color
2016-10-11 20:06:15 INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer:195: extracting marvin color []
20:06:15.594 [AWT-EventQueue-0] INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer - Applying gaus filter
2016-10-11 20:06:15 INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer:207: Applying gaus filter []
20:06:16.109 [AWT-EventQueue-0] INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer - searching for the correct color
2016-10-11 20:06:16 INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer:211: searching for the correct color []
20:06:17.435 [AWT-EventQueue-0] INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer - Found 1 matching polygons
2016-10-11 20:06:17 INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer:794: Found 1 matching polygons []
20:06:17.435 [AWT-EventQueue-0] INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer - Best matching polygon is: Polygon (4 points) [ (0,0) (877,0) (877,844) (0,844)]
2016-10-11 20:06:17 INFO org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer:808: Best matching polygon is: Polygon (4 points) [ (0,0) (877,0) (877,844) (0,844)] []

Any ideas? Thanks!

Building replacement should merge tags and resolve their conflicts

Building replacement should merge tags and resolve their conflicts the same way that Replace Geometry does.
Doing it "by hand" is a real chore.
See #23.

BTW: In Preferences, this would almost be a mini documentation:
Replace with the new building the existing building near which the AreaSelector click is made.

Keep the good work, Paul, it's extremely useful for those who know.
(much better work than the buildings being replaced)
TIA !!!

Inappropriate source tag and procedure

Hi Paul,

Thanks again for fixing AT, and I'm glad to have been of some help.
I hope to come back soon with remarks and findings, but the following prevents my using it.

In the meantime, this is a remark from a compatriot Sus, she is not fluent with English and I interpret.
She regrets that the layers have to be turned off to be excluded from new feature SOURCE.
I myself evaluated it and found strange to use my shorthands for SOURCE, such as "BE SPW PIC0"
when the real value is "20cm-near PICC http://geoportail.wallonie.be 2017".
Should I use this value as my shorthand, I would no longer make sense of them.

Moreover, I regret that AS overwrites any explicit SOURCE that the user sets, or selected with marvellous drop-down.

All in all,
Sus suggests, and I agree, that there should be a check box indicating if the SOURCE tag should be automatically filled or it it behaves like the other tags.
I suggest that the feature shouldn't overwrite a SOURCE value set by the user.
Note that an "Intentionally left blank" value producing no tag makes the check box unnecessary but is cryptic.

Please note that I updated my other "replacing a building" ticket which is important and seems easy to do, and that I added a BTW to it describing another useful feature.

TIA.

AS no longer works

Since an unknown time, Area Selector no longer works. It draws 4 ways at the border of the window.
Neither with BE SPW PICC, nor with BE AGIV I was told, and not even as I can see with AT basemat.at which is your testbed I think.
I don't think the problem occurred with an AS update but rather with a JOSM one.
I ran josm-snapshot-10693.jar and AS did run, but very badly again.
It does not draws its ways onto the building walls but around them.
However, that shows better some interested friends what they will have when it will run superbly again.
TIA for fixing this !!!

Upgrading an existing building

Hi,

When mapping with AS, I often come across existing buildings that were badly mapped.
They have just a building=yes tag and they are 2 to 5 m off the exact position etc.
In that case, the fastest option is to erase that building and to build a new AS one.
But that is unfair to the original mapper whose name is removed from history.
And, on the other hand, there might be interesting tags to keep,
and it's best to keep the way's ID in case it's in a relation.

So, I suggest to build an AS building that keeps those data from another.
It's similar to the Conflation plugin but done much much more simply.
What I have tediously done manually shows the basis of the simple operation.

  • M: merge two nodes: any of the original building with any of the new one.
  • C: combine the two ways into one
  • possibly reply yes to change the way direction
  • select the new tags in case of merge conflict (or present a fast selection dialog)
  • delete the nodes of the original building
    The original and AS mapper should appear in the history.

Thanks on behalf of original mappers.

Glue nodes to neighbors

Check if there are already nodes not far away and snap them together.

Example might be found in the Tracer or Tracer 2 source code

check path for debug images

If run from the applications folder the debug images can not be written.

java.lang.NullPointerException
    at javax.imageio.ImageIO.write(ImageIO.java:1538)
    at org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer.saveImgToFile(ImageAnalyzer.java:965)
    at org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer.init(ImageAnalyzer.java:145)
    at org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer.<init>(ImageAnalyzer.java:130)
    at org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction.createArea(AreaSelectorAction.java:179)
    at org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction.mouseClicked(AreaSelectorAction.java:140)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
    at java.awt.Component.processMouseEvent(Component.java:6528)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6290)
    at java.awt.Container.processEvent(Container.java:2234)
    at java.awt.Component.dispatchEventImpl(Component.java:4881)
    at java.awt.Container.dispatchEventImpl(Container.java:2292)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4542)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
    at java.awt.Container.dispatchEventImpl(Container.java:2278)
    at java.awt.Window.dispatchEventImpl(Window.java:2750)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:731)
    at java.awt.EventQueue$4.run(EventQueue.java:729)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

not attached walls

Hi Paul !
update:
I have checked that this occurs not only in Belgium but in Austria too !!!
Tagging a new house takes < 15 sec
But if this occurs, it can be 30-60 seconds.
Would a simple N function on each corner of the building do the trick?
(Move node onto the nearest way segment and include it)
Beware of proximity and ticket #16710
I can check special builds if it helps you.
--- end of update ---

The corner of an L-shaped wall is often not on the wall of the nearby attached building (see file).
It is not only annoying to leave the AS environment to fix that, but it's also sometimes barely visible.
It occurs frequently.
Suggestion:
If an elongated (line equation) wall of the new building crosses a wall of a nearby building at about 90° and the crossing point is no further away than 1m (best guess) from the end of the (first) wall, then the end of that (first) wall should be the crossing point.

Do you want more most frequently occurring issues reports like this?

Keep the good work, Paul, it's extremely useful for those who know.
TIA !!!

not attached walls.osm.txt

Create Translations

There are not translations available right now. All tr messages should be extracted and english and German translations should be created.

AS is an interesting plugin not only for buildings!

Thank you guys for this plugin, I think it could be very useful to speed up the mapping of several features, not only buildings.
I'm an UN mapper (UNGSC-mbranco2), working most in Somalia, and I tried to use AS with ponds, meadows/farmlands, scrubs... : results are very interesting (see pics below).
So my request is very simple: why not to put in AS settings the default tags to assign to the new feature, avoiding to set "building=yes" ?

Also, it seems to me that "angle tolerance" is the parameter which set the accuracy of interpolation: for this kind of features accuracy is not so useful, so I set it to a high value (60), but often at least a part of the way has many unnecessary nodes.

In any case, I congratulate and thank you!

Areaselector1
Areaselector2
Areaselector3

Error in JOSM 18360

Hello,

Steps:

  1. Show the layer: wms:http://ovc.catastro.meh.es/cartografia/INSPIRE/spadgcwms.aspx?FORMAT=image/png&TRANSPARENT=TRUE&VERSION=1.3.0&SERVICE=WMS&REQUEST=GetMap&LAYERS=BU.Building&STYLES=&CRS={proj}&WIDTH={width}&HEIGHT={height}&BBOX={bbox}

  2. Ctrl + Alt + A: To activate the areaselector tool

  3. Click over a building

Expected:

  • New building is created
  • A popup is show asking for address details

Actual:

  • New building is created
  • An error occurs,
  • No pop-up asking for addres details is shown

Here are the error details

{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2022-01-02 21:24:43 +0100 (Sun, 02 Jan 2022)
Revision:18360
Build-Date:2022-01-02 20:26:19
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (18360 es) Linux Mint 20.3
Memory Usage: 299 MB / 1986 MB (7 MB allocated, but free)
Java version: 11.0.13+8-Ubuntu-0ubuntu1.20.04, Ubuntu, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: es_ES.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: es_ES
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: X-Cinnamon
Java package: openjdk-11-jre:amd64-11.0.13+8-0ubuntu1~20.04
fonts-noto: fonts-noto:-
Dataset consistency test: No problems found

Plugins:

  • FixAddresses (35893)
  • OpeningHoursEditor (35893)
  • areaselector (368)
  • austriaaddresshelper (1597341117)
  • ejml (35893)
  • log4j (35893)
  • reverter (35893)
  • tageditor (35893)
  • turnlanes-tagging (v0.0.5)
  • utilsplugin2 (35893)

Map paint styles:

Last errors/warnings:

  • 00033.145 E: Invalid setting (Icon missing): org.openstreetmap.josm.plugins.fixAddresses.FixAddressesPreferences
  • 00137.966 E: Handled by bug report queue: java.lang.NoSuchMethodError: 'void org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox.setPossibleAcItems(java.util.Collection)'

=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (19) of main
java.lang.NoSuchMethodError: 'void org.openstreetmap.josm.gui.tagging.ac.AutoCompletingComboBox.setPossibleAcItems(java.util.Collection)'
at org.openstreetmap.josm.plugins.areaselector.AddressDialog.(AddressDialog.java:129)
at org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction.createArea(AreaSelectorAction.java:260)
at org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction$1.run(AreaSelectorAction.java:150)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
}}}

Thanks

Crash on any click

Trying to make use of the areaselector fails for me with the backtrace below.

This has also been reported in the OSM forum.

JOSM: Version 8159
Java: Version 1.8.0_40
Areaselector: Version 1423773025

java.lang.ArrayIndexOutOfBoundsException: -1
    at boofcv.alg.feature.shapes.SplitMergeLineFitLoop.checkSplit(SplitMergeLineFitLoop.java:216)
    at boofcv.alg.feature.shapes.SplitMergeLineFitLoop.splitSegments(SplitMergeLineFitLoop.java:205)
    at boofcv.alg.feature.shapes.SplitMergeLineFitLoop.process(SplitMergeLineFitLoop.java:77)
    at boofcv.alg.feature.shapes.ShapeFittingOps.fitPolygon(ShapeFittingOps.java:71)
    at org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer.detectArea(ImageAnalyzer.java:791)
    at org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer.getArea(ImageAnalyzer.java:256)
    at org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction.createArea(AreaSelectorAction.java:166)
    at org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction.mouseClicked(AreaSelectorAction.java:121)
    at java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:270)
    at java.awt.Component.processMouseEvent(Component.java:6528)
    at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
    at java.awt.Component.processEvent(Component.java:6290)
    at java.awt.Container.processEvent(Container.java:2234)
    at java.awt.Component.dispatchEventImpl(Component.java:4881)
    at java.awt.Container.dispatchEventImpl(Container.java:2292)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)
    at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4542)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)
    at java.awt.Container.dispatchEventImpl(Container.java:2278)
    at java.awt.Window.dispatchEventImpl(Window.java:2750)
    at java.awt.Component.dispatchEvent(Component.java:4703)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:751)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:702)
    at java.awt.EventQueue$3.run(EventQueue.java:696)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
    at java.awt.EventQueue$4.run(EventQueue.java:724)
    at java.awt.EventQueue$4.run(EventQueue.java:722)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:721)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

documentation and possible SPW PICC server tuning

Using Area Selector with Imagery>Preferences>BE SPW PICC is simply gorgeous !!!
I feel so sad to read people write that they can' find how to use AS that I feel like writing a small doc.
But I would also like you to read a user experience report with that SPW server to see if there are VERY SIMPLE changes that could improve that case.
Could we swap this?

Error open areaselector

I get this when try to use areaselector:

{{{
Revision:18118
Build-Date:2021-08-02 19:18:35

Identification: JOSM/1.5 (18118 gl) Mac OS X 10.15.7
OS Build number: Mac OS X 10.15.7 (19H1217)
Memory Usage: 344 MB / 4096 MB (142 MB allocated, but free)
Java version: 16.0.2+7, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.apple.laf.AquaLookAndFeel
Screen: Display 69501701 1680×1050 (scaling 1.00×1.00) Display 1952439552 2560×1440 (scaling 1.00×1.00)
Maximum Screen Size: 2560×1440
Best cursor sizes: 16×16→16×16, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: gl_ES
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=18118, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=/Applications/JOSM.app/Contents/MacOS/JOSM]
Dataset consistency test: No problems found

Last errors/warnings:

  • 00033.081 E: Unsupported savable layer type: WMSLayer
  • 00036.266 E: Handled by bug report queue: java.lang.IllegalAccessError: class boofcv.io.image.ConvertBufferedImage (in unnamed module @0x56c1b85f) cannot access class sun.awt.image.ByteInterleavedRaster (in module java.desktop) because module java.desktop does not export sun.awt.image to unnamed module @0x56c1b85f
  • 05746.469 E: Handled by bug report queue: java.lang.IllegalAccessError: class boofcv.io.image.ConvertBufferedImage (in unnamed module @0x56c1b85f) cannot access class sun.awt.image.ByteInterleavedRaster (in module java.desktop) because module java.desktop does not export sun.awt.image to unnamed module @0x56c1b85f
  • 05945.409 E: Handled by bug report queue: java.lang.IllegalAccessError: class boofcv.io.image.ConvertBufferedImage (in unnamed module @0x56c1b85f) cannot access class sun.awt.image.ByteInterleavedRaster (in module java.desktop) because module java.desktop does not export sun.awt.image to unnamed module @0x56c1b85f
  • 05959.910 E: Handled by bug report queue: java.lang.IllegalAccessError: class boofcv.io.image.ConvertBufferedImage (in unnamed module @0x56c1b85f) cannot access class sun.awt.image.ByteInterleavedRaster (in module java.desktop) because module java.desktop does not export sun.awt.image to unnamed module @0x56c1b85f
  • 05982.271 E: Handled by bug report queue: java.lang.IllegalAccessError: class boofcv.io.image.ConvertBufferedImage (in unnamed module @0x56c1b85f) cannot access class sun.awt.image.ByteInterleavedRaster (in module java.desktop) because module java.desktop does not export sun.awt.image to unnamed module @0x56c1b85f
  • 05991.618 E: Handled by bug report queue: java.lang.IllegalAccessError: class boofcv.io.image.ConvertBufferedImage (in unnamed module @0x56c1b85f) cannot access class sun.awt.image.ByteInterleavedRaster (in module java.desktop) because module java.desktop does not export sun.awt.image to unnamed module @0x56c1b85f
  • 05995.604 E: Handled by bug report queue: java.lang.IllegalAccessError: class boofcv.io.image.ConvertBufferedImage (in unnamed module @0x56c1b85f) cannot access class sun.awt.image.ByteInterleavedRaster (in module java.desktop) because module java.desktop does not export sun.awt.image to unnamed module @0x56c1b85f
  • 06117.432 E: Handled by bug report queue: java.lang.IllegalAccessError: class boofcv.io.image.ConvertBufferedImage (in unnamed module @0x56c1b85f) cannot access class sun.awt.image.ByteInterleavedRaster (in module java.desktop) because module java.desktop does not export sun.awt.image to unnamed module @0x56c1b85f

=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (22) of main
java.lang.IllegalAccessError: class boofcv.io.image.ConvertBufferedImage (in unnamed module @0x56c1b85f) cannot access class sun.awt.image.ByteInterleavedRaster (in module java.desktop) because module java.desktop does not export sun.awt.image to unnamed module @0x56c1b85f
at boofcv.io.image.ConvertBufferedImage.convertFrom(ConvertBufferedImage.java:319)
at org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer.detectCannyArea(ImageAnalyzer.java:690)
at org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer.getArea(ImageAnalyzer.java:151)
at org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction.createArea(AreaSelectorAction.java:197)
at org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction$1.run(AreaSelectorAction.java:150)
at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Unknown Source)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
}}}

Any help would be appreciated

building replacement undo error

Hi Paul,

The attached file is the result of completely undoing the replacement of the upper right building with the bottom left one.
Trying to play with that construct produces program exceptions.
JOSM is in a funny state and must be restarted without risking to save anything, hence ruining work.

Hoping this will help.

André.

AS undo failure.osm.zip

building replacement does not override building=yes

I made a series of replacement of building=yes areas with building=house.
AS would repeatedly use building=yes instead.
Normally, the existing tags are overridden with AS'es new ones.
But should a building=hangar be encountered, the mapper must wonder which is right.
Replace Geometry has a tag conflict resolution for that.
Does that happen with any tag?

Plugin needs update after change of austriaaddresshelper API signature

Since JOSM/austriaaddresshelper@22da9e1

https://github.com/JOSM/areaselector does not compile anymore with the change of OsmPrimitive to Map<String, String>:

https://josm.openstreetmap.de/jenkins/job/JOSM-Plugins/jdk=JDK8/1913/console

compile:
     [echo] compiling sources for /var/lib/jenkins/jobs/JOSM-Plugins/workspace/jdk/JDK8/dist/areaselector.jar ...
    [javac] Compiling 15 source files to /var/lib/jenkins/jobs/JOSM-Plugins/workspace/jdk/JDK8/areaselector/build
    [javac] /var/lib/jenkins/jobs/JOSM-Plugins/workspace/jdk/JDK8/areaselector/src/org/openstreetmap/josm/plugins/areaselector/AreaSelectorAction.java:274: error: incompatible types: Map<String,String> cannot be converted to OsmPrimitive
    [javac]             return AustriaAddressHelperAction.loadAddress(selectedObject);
    [javac]                                                          ^
    [javac] 1 error

Adress-Popup stay on false display

Hey,

I use JOSM and the Plugin in the latest versions.
Situation:
When I used the plugin the adress-plugin and JOSM was shown on my second screen (I use a notebook).
When I use then only my build-in display, I can not see the Adress-PopUp. I can only close it with ESC.

Areaselector does not work with OpenJDK 11

It seems like there is an issue with OpenJDK 11 and possibly also earlier versions:

 [java] 2021-07-04 00:01:06.607 SEVERE: Handled by bug report queue: java.lang.IllegalAccessError: class boofcv.io.image.ConvertBufferedImage (in unnamed module @0x55d95bcf) cannot access class sun.awt.image.ByteInterleavedRaster (in module java.desktop) because module java.desktop does not export sun.awt.image to unnamed module @0x55d95bcf
        [java] java.lang.IllegalAccessError: class boofcv.io.image.ConvertBufferedImage (in unnamed module @0x55d95bcf) cannot access class sun.awt.image.ByteInterleavedRaster (in module java.desktop) because module java.desktop does not export sun.awt.image to unnamed module @0x55d95bcf2021-07-04 00:01:06,544 [AWT-EventQueue-0] INFO : mouse clicked java.awt.event.MouseEvent[MOUSE_CLICKED,(660,397),absolute(702,483),button=1,modifiers=Button1,clickCount=1] on org.openstreetmap.josm.gui.MapView[,0,0,1016x783,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=java.awt.Dimension[width=10,height=0],preferredSize=]
        [java] 	at boofcv.io.image.ConvertBufferedImage.convertFrom(ConvertBufferedImage.java:319)
        [java] 	at org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer.detectCannyArea(ImageAnalyzer.java:691)
        [java] 2021-07-04 00:01:06.618 INFO: Update plugins - <html>An unexpected exception occurred that may have come from the 'areaselector' plugin.<br>According to the information within the plugin, the author is Paul Woelfel, Thomas Konrad.<br>Try updating to the newest version of this plugin before reporting a bug.</html>	at org.openstreetmap.josm.plugins.areaselector.ImageAnalyzer.getArea(ImageAnalyzer.java:152)
        [java] 	at org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction.createArea(AreaSelectorAction.java:219)
        [java] 	at org.openstreetmap.josm.plugins.areaselector.AreaSelectorAction$1.run(AreaSelectorAction.java:172)
        [java] 	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)
        [java] 	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
        [java] 	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
        [java] 	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
        [java] 	at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
        [java] 	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
        [java] 	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
        [java] 	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        [java] 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        [java] 	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        [java] 	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        [java] 	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        [java] 	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Question: Run on one exact layer only / ignore layers

Is there a way to get the plugin to run the tracing from one exact layer only? Or to ignore certain layers?

Reason:
I am using this plugin to select buildings exclusively from the Czech CUZK:KM, where the buildings are still missing from the preferred source (CUZK:RUIAN, with its own tracing plugin). Ideally, I have several layers switched on - at least both these and often several others (DigitalGlobe, for example). This is cumbersome - for the plugin to work as I would like it, I have to switch off all the "additional" layers before running the areaselector.

Thank you for the plugin, by the way. It works nicely.

replacing a building while keeping history in fairness (important)

This is requesting to use AreaSelector without fear of being unfair.
It's often much quicker to make a new building with AS than to modify a badly mapped one.
This is a suggestion for doing it easily while fairly keeping the history of former contributors.
Possible suggestion:
1: while Ctrl held down in OK dialog, or by other means, cursor temporarily switches to Select mode
2. doing so, the user adds the old, bad way to the selection
3. then he clicks an "OK & Replace Geometry" button and AS calls Tools>Replace Geometry just after finishing the way.

That's all there is for fairness and avoiding a lot of clicking.

BTW, the same process of selecting a second way can be used to implement a "Pick other way's tags" button.
It could be used to continue adding buildings with the same tags as a partially mapped street.
Or to pick City and Post Code of an other street.

TIA !!!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.