Modify

Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#21788 closed defect (fixed)

[PATCH] conflation: JTS AssertionFailedException in org.openstreetmap.josm.plugins.conflation.MatchesComputation.generateMatches

Reported by: goneo@… Owned by: Tyndare
Priority: normal Milestone:
Component: Plugin conflation Version:
Keywords: template_report Cc:

Description (last modified by taylor.smock)

What steps will reproduce the problem?

  1. Comparing geojson data with osm-data
  2. click on compare
  3. error message

OSM data is

 area[name="Métropole de Lyon"];
 nwr[amenity=bicycle_parking](area);
 out meta;

GeoJson is attached

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 fr) Linux Debian GNU/Linux 11 (bullseye)
Memory Usage: 201 MB / 780 MB (48 MB allocated, but free)
Java version: 11.0.13+8-post-Debian-1deb11u1, Debian, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1366×768 (scaling 1.00×1.00) :0.1 1920×1200 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1200
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: fr_FR.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: fr_FR
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: GNOME
Java package: openjdk-11-jre:amd64-11.0.13+8-1~deb11u1
Java ATK Wrapper package: libatk-wrapper-java:all-0.38.0-2+deb11u1
fonts-noto: fonts-noto:-
VM arguments: [-Djosm.restart=true, -Djava.net.useSystemProxies=true]
Dataset consistency test: No problems found

Plugins:
+ apache-commons (35893)
+ apache-http (35893)
+ cadastre-fr (35893)
+ conflation (0.6.9)
+ ejml (35893)
+ geotools (35893)
+ gridify (1606242219)
+ http2 (35427)
+ jna (35893)
+ jts (35893)
+ notesolver (0.3.3)
+ openqa (0.2.2)
+ todo (30306)
+ utilsplugin2 (35893)
+ wikipedia (605)

Last errors/warnings:
- 00327.140 E: Handled by bug report queue: org.locationtech.jts.util.AssertionFailedException: Score = 1.9998712800076426
- 00425.508 E: Handled by bug report queue: org.locationtech.jts.util.AssertionFailedException: Score = 1.142798299432065
- 00450.022 E: Handled by bug report queue: org.locationtech.jts.util.AssertionFailedException: Score = 1.142798299432065



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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (19) of main
org.locationtech.jts.util.AssertionFailedException: Score = 1.142798299432065
	at org.locationtech.jts.util.Assert.isTrue(Assert.java:46)
	at com.vividsolutions.jcs.conflate.polygonmatch.Matches.add(Matches.java:166)
	at com.vividsolutions.jcs.conflate.polygonmatch.WeightedMatcher.toMatches(WeightedMatcher.java:98)
	at com.vividsolutions.jcs.conflate.polygonmatch.WeightedMatcher.match(WeightedMatcher.java:91)
	at com.vividsolutions.jcs.conflate.polygonmatch.ChainMatcher.match(ChainMatcher.java:74)
	at com.vividsolutions.jcs.conflate.polygonmatch.BasicFCMatchFinder.match(BasicFCMatchFinder.java:73)
	at com.vividsolutions.jcs.conflate.polygonmatch.DisambiguatingFCMatchFinder.match(DisambiguatingFCMatchFinder.java:30)
	at com.vividsolutions.jcs.conflate.polygonmatch.AreaFilterFCMatchFinder.match(AreaFilterFCMatchFinder.java:75)
	at org.openstreetmap.josm.plugins.conflation.MatchesComputation.generateMatches(MatchesComputation.java:80)
	at org.openstreetmap.josm.plugins.conflation.ConflationToggleDialog$2.realRun(ConflationToggleDialog.java:1151)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:94)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:142)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)

Attachments (2)

pvo_patrimoine_voirie.pvostationnementvelo-josm.geojson (2.2 MB ) - added by anonymous 2 years ago.
21788.patch (20.9 KB ) - added by taylor.smock 2 years ago.

Change History (12)

comment:2 by taylor.smock, 2 years ago

Component: CorePlugin conflation
Owner: changed from team to Tyndare
Summary: crash during conflationconflation: JTS AssertionFailedException in org.openstreetmap.josm.plugins.conflation.MatchesComputation.generateMatches

comment:3 by taylor.smock, 2 years ago

Can you give us the download area? I was unable to reproduce with a random area.

comment:4 by anonymous, 2 years ago

  1. The download area is described in the ticket. I use an overpass request in order to get the elements. area[name="Métropole de Lyon"]; nwr[amenity=bicycle_parking](area); out meta;

This gives me the "subject".

  1. The "reference" is the geojson attached to this ticket.
  2. I use de simple mode. It crashes if I try to match elements with key "ref:FR:GrandLyon"

comment:5 by taylor.smock, 2 years ago

Description: modified (diff)

comment:6 by taylor.smock, 2 years ago

Thank you.

I use de simple mode. It crashes if I try to match elements with key "ref:FR:GrandLyon"

The ref:FR:GrandLyon was the important bit -- without it, I was not able to reproduce.

comment:7 by taylor.smock, 2 years ago

Summary: conflation: JTS AssertionFailedException in org.openstreetmap.josm.plugins.conflation.MatchesComputation.generateMatches[PATCH] conflation: JTS AssertionFailedException in org.openstreetmap.josm.plugins.conflation.MatchesComputation.generateMatches

PR open at https://github.com/JOSM/conflation/pull/16

This pretty much came down to how the compareTo code worked in OsmFeature (which inherited it from Feature), as the compareTo code only checked geometry, not ids.

There 20 duplicate nodes in the dataset (from the overpass query in the original post).
For example, see https://osm.org/node/1272385008 and https://osm.org/node/7372040517.

Last edited 2 years ago by taylor.smock (previous) (diff)

by taylor.smock, 2 years ago

Attachment: 21788.patch added

comment:8 by taylor.smock, 2 years ago

Resolution: fixed
Status: newclosed

comment:9 by taylor.smock, 2 years ago

Ticket #19762 has been marked as a duplicate of this ticket.

comment:10 by goneo@…, 2 years ago

"There 20 duplicate nodes in the dataset (from the overpass query in the original post).
For example, see ​https://osm.org/node/1272385008 and ​https://osm.org/node/7372040517."

How do you write a request to find that ? I would like to clean them.

comment:11 by taylor.smock, 2 years ago

I actually found those using the JOSM validator (see Help/Dialog/Validator).

Specifically, look for Nodes at same position

Last edited 2 years ago by taylor.smock (previous) (diff)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain Tyndare.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


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