Modify

Opened 13 years ago

Closed 13 years ago

#7251 closed defect (needinfo)

Plugin für unvollständige Adressen

Reported by: anonymous Owned by: anonymous
Priority: normal Milestone:
Component: Plugin fixaddresses Version:
Keywords: Cc:

Description

Repository Root: http://josm.openstreetmap.de/svn
Build-Date: 2011-12-19 02:32:42
Last Changed Author: Don-vip
Revision: 4667
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
URL: http://josm.openstreetmap.de/svn/trunk
Last Changed Date: 2011-12-19 00:02:30 +0100 (Mon, 19 Dec 2011)
Last Changed Rev: 4667

Identification: JOSM/1.5 (4667 de)
Memory Usage: 382 MB / 824 MB (98 MB allocated, but free)
Java version: 1.6.0_22, Sun Microsystems Inc., OpenJDK 64-Bit Server VM
Operating system: Linux
Dataset consistency test: No problems found

Plugin: AddrInterpolation (27356)
Plugin: FixAddresses (27357)
Plugin: buildings_tools (27355)

java.lang.IllegalArgumentException: Parameter 'b' must not be null

at org.openstreetmap.josm.tools.CheckParameterUtil.ensureParameterNotNull(CheckParameterUtil.java:31)
at org.openstreetmap.josm.plugins.fixAddresses.OsmUtils.findMinimum(OsmUtils.java:80)
at org.openstreetmap.josm.plugins.fixAddresses.OsmUtils.getMinimumDistanceToWay(OsmUtils.java:62)
at org.openstreetmap.josm.plugins.fixAddresses.GuessAddressRunnable$GuessStreetValueHandler.visit(GuessAddressRunnable.java:245)
at org.openstreetmap.josm.data.osm.Way.visit(Way.java:162)
at org.openstreetmap.josm.plugins.fixAddresses.GuessAddressRunnable.realRun(GuessAddressRunnable.java:179)
at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:79)
at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:125)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)

Change History (5)

comment:1 by stoecker, 13 years ago

Component: CorePlugin fixaddresses
Owner: changed from team to OliverW

comment:2 by OliverW, 13 years ago

Hi,

I checked the code - it seems that the method Way#getNodePairs returned an invalid point.

The NP exception has been caused by the invocation of findMinimum within the following loop:

	double minDist = Double.MAX_VALUE;
	List<Pair<Node,Node>> x = w.getNodePairs(true);

	for (Pair<Node, Node> pair : x) {
		LatLon ap = pair.a.getCoor();
		LatLon bp = pair.b.getCoor();

		double dist = findMinimum(ap, bp, coor);
		if (dist < minDist) {
			minDist = dist;
		}
	}
...
private static double findMinimum(LatLon a, LatLon b, LatLon c) {
	CheckParameterUtil.ensureParameterNotNull(c, "c");
	CheckParameterUtil.ensureParameterNotNull(b, "b"); // <=== FAILS
	CheckParameterUtil.ensureParameterNotNull(a, "a");

It seems that there has been a point without coordinates. This should be prevented by the JOSM framework(?)

comment:3 by OliverW, 13 years ago

Owner: changed from OliverW to stoecker

Of course I could check a coordinate for on null - but in my opinion the coordinates are a fundamental feature of a point ;-)

comment:4 by stoecker, 13 years ago

Owner: changed from stoecker to anonymous
Status: newneedinfo

So this is a bug elsewhere. Hard to find who produced an invalid point.

We would need a test dataset or a description how to reach that exception.

comment:5 by stoecker, 13 years ago

Resolution: needinfo
Status: needinfoclosed

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.