﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
6162	Error: NaN in greatCircleDistance for some images	*Martin*	team	"Hello

I am getting ""Error: NaN in greatCircleDistance"" for some images (example attached). The image is not then displayed in the map view. JOSM revision is 3969.

Stacktrace on that message:
{{{
Thread [AWT-EventQueue-0] (Suspended (breakpoint at line 173 in org.openstreetmap.josm.data.coor.LatLon))	
	org.openstreetmap.josm.data.coor.LatLon.greatCircleDistance(org.openstreetmap.josm.data.coor.LatLon) line: 173	
	org.openstreetmap.josm.gui.MapView(org.openstreetmap.josm.gui.NavigatableComponent).zoomTo(org.openstreetmap.josm.data.coor.EastNorth, double) line: 315	
	org.openstreetmap.josm.gui.MapView(org.openstreetmap.josm.gui.NavigatableComponent).zoomTo(org.openstreetmap.josm.data.ProjectionBounds) line: 431	
	org.openstreetmap.josm.gui.MapView.recalculateCenterScale(org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor) line: 609	
	org.openstreetmap.josm.actions.AutoScaleAction.autoScale() line: 151	
	org.openstreetmap.josm.actions.AutoScaleAction.autoScale(java.lang.String) line: 75	
	org.openstreetmap.josm.gui.MapView$2.componentResized(java.awt.event.ComponentEvent) line: 221	
	org.openstreetmap.josm.gui.MapView(java.awt.Component).processComponentEvent(java.awt.event.ComponentEvent) line: 6115	
	org.openstreetmap.josm.gui.MapView(java.awt.Component).processEvent(java.awt.AWTEvent) line: 6069	
	org.openstreetmap.josm.gui.MapView(java.awt.Container).processEvent(java.awt.AWTEvent) line: 2041	
	org.openstreetmap.josm.gui.MapView(java.awt.Component).dispatchEventImpl(java.awt.AWTEvent) line: 4652	
	org.openstreetmap.josm.gui.MapView(java.awt.Container).dispatchEventImpl(java.awt.AWTEvent) line: 2099	
	org.openstreetmap.josm.gui.MapView(java.awt.Component).dispatchEvent(java.awt.AWTEvent) line: 4482	
	java.awt.EventQueue.dispatchEventImpl(java.awt.AWTEvent, java.lang.Object) line: 644	
	java.awt.EventQueue.access$000(java.awt.EventQueue, java.awt.AWTEvent, java.lang.Object) line: 85	
	java.awt.EventQueue$1.run() line: 603	
	java.awt.EventQueue$1.run() line: 601	
	java.security.AccessController.doPrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext) line: not available [native method]	
	java.security.AccessControlContext$1.doIntersectionPrivilege(java.security.PrivilegedAction<T>, java.security.AccessControlContext, java.security.AccessControlContext) line: 87	
	java.security.AccessControlContext$1.doIntersectionPrivilege(java.security.PrivilegedAction<T>, java.security.AccessControlContext) line: 98	
	java.awt.EventQueue$2.run() line: 617	
	java.awt.EventQueue$2.run() line: 615	
	java.security.AccessController.doPrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext) line: not available [native method]	
	java.security.AccessControlContext$1.doIntersectionPrivilege(java.security.PrivilegedAction<T>, java.security.AccessControlContext, java.security.AccessControlContext) line: 87	
	java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent) line: 614	
	java.awt.EventDispatchThread.pumpOneEventForFilters(int) line: 269	
	java.awt.EventDispatchThread.pumpEventsForFilter(int, java.awt.Conditional, java.awt.EventFilter) line: 184	
	java.awt.EventDispatchThread.pumpEventsForHierarchy(int, java.awt.Conditional, java.awt.Component) line: 174	
	java.awt.EventDispatchThread.pumpEvents(int, java.awt.Conditional) line: 169	
	java.awt.EventDispatchThread.pumpEvents(java.awt.Conditional) line: 161	
	java.awt.EventDispatchThread.run() line: 122	
}}}

{{{
martin@bono:~$ exiftool a.jpg
ExifTool Version Number         : 8.15
File Name                       : a.jpg
Directory                       : .
File Size                       : 256 kB
File Modification Date/Time     : 2011:03:29 22:32:38+02:00
File Permissions                : rw-r--r--
File Type                       : JPEG
MIME Type                       : image/jpeg
JFIF Version                    : 1.01
Exif Byte Order                 : Little-endian (Intel, II)
Compression                     : Uncompressed
Photometric Interpretation      : RGB
Make                            : NIKON CORPORATION
Camera Model Name               : NIKON D5000
Planar Configuration            : Chunky
Software                        : Adobe Bridge CS5
Modify Date                     : 2011:03:20 11:23:01
Y Cb Cr Positioning             : Centered
Exposure Time                   : 1/200
F Number                        : 7.1
Exposure Program                : Program AE
ISO                             : 200
Exif Version                    : 0221
Date/Time Original              : 2011:03:12 15:36:11
Shutter Speed Value             : 1/200
Aperture Value                  : 7.1
Exposure Compensation           : 0
Max Aperture Value              : 3.5
Subject Distance                : 4294967295 m
Metering Mode                   : Multi-segment
Light Source                    : Unknown
Flash                           : No Flash
Focal Length                    : 18.0 mm
Exif Image Width                : 4288
Exif Image Height               : 2848
Sensing Method                  : One-chip color area
File Source                     : Digital Camera
Scene Type                      : Directly photographed
Exposure Mode                   : Auto
White Balance                   : Auto
Digital Zoom Ratio              : 1
Focal Length In 35mm Format     : 27 mm
Scene Capture Type              : Standard
Gain Control                    : None
Contrast                        : Normal
Saturation                      : Normal
Sharpness                       : Normal
Subject Distance Range          : Unknown
GPS Altitude Ref                : Above Sea Level
Orientation                     : Horizontal (normal)
X Resolution                    : 72
Y Resolution                    : 72
Resolution Unit                 : inches
Thumbnail Offset                : 962
Thumbnail Length                : 6035
Profile CMM Type                : Lino
Profile Version                 : 2.1.0
Profile Class                   : Display Device Profile
Color Space Data                : RGB
Profile Connection Space        : XYZ
Profile Date Time               : 1998:02:09 06:49:00
Profile File Signature          : acsp
Primary Platform                : Microsoft Corporation
CMM Flags                       : Not Embedded, Independent
Device Manufacturer             : IEC
Device Model                    : sRGB
Device Attributes               : Reflective, Glossy, Positive, Color
Rendering Intent                : Perceptual
Connection Space Illuminant     : 0.9642 1 0.82491
Profile Creator                 : HP
Profile ID                      : 0
Profile Copyright               : Copyright (c) 1998 Hewlett-Packard Company
Profile Description             : sRGB IEC61966-2.1
Media White Point               : 0.95045 1 1.08905
Media Black Point               : 0 0 0
Red Matrix Column               : 0.43607 0.22249 0.01392
Green Matrix Column             : 0.38515 0.71687 0.09708
Blue Matrix Column              : 0.14307 0.06061 0.7141
Device Mfg Desc                 : IEC http://www.iec.ch
Device Model Desc               : IEC 61966-2.1 Default RGB colour space - sRGB
Viewing Cond Desc               : Reference Viewing Condition in IEC61966-2.1
Viewing Cond Illuminant         : 19.6445 20.3718 16.8089
Viewing Cond Surround           : 3.92889 4.07439 3.36179
Viewing Cond Illuminant Type    : D50
Luminance                       : 76.03647 80 87.12462
Measurement Observer            : CIE 1931
Measurement Backing             : 0 0 0
Measurement Geometry            : Unknown (0)
Measurement Flare               : 0.999%
Measurement Illuminant          : D65
Technology                      : Cathode Ray Tube Display
Red Tone Reproduction Curve     : (Binary data 2060 bytes, use -b option to extract)
Green Tone Reproduction Curve   : (Binary data 2060 bytes, use -b option to extract)
Blue Tone Reproduction Curve    : (Binary data 2060 bytes, use -b option to extract)
XMP Toolkit                     : XMP Core 4.1.1
Create Date                     : 2011:03:12 15:36:11.00+01:00
Creator Tool                    : Adobe Bridge CS5
Metadata Date                   : 2011:03:20 10:07:16+01:00
Rating                          : 0
Serial Number                   : 6607572
Lens Info                       : 180/10 550/10 35/10 56/10
Lens                            : 18.0-55.0 mm f/3.5-5.6
Lens ID                         : 154
Image Number                    : 181
Approximate Focus Distance      : 4294967295
Instance ID                     : xmp.iid:9C120C69D152E011AEE5D499A47E1392
Document ID                     : xmp.did:9C120C69D152E011AEE5D499A47E1392
Original Document ID            : xmp.did:9C120C69D152E011AEE5D499A47E1392
Image Width                     : 858
Image Height                    : 570
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:4:4 (1 1)
Aperture                        : 7.1
GPS Altitude                    : 324.1 m Above Sea Level
GPS Latitude                    : 48 deg 53' 19.41"" N
GPS Latitude Ref                : North
GPS Longitude                   : 21 deg 2' 35.70"" E
GPS Longitude Ref               : East
GPS Position                    : 48 deg 53' 19.41"" N, 21 deg 2' 35.70"" E
Image Size                      : 858x570
Scale Factor To 35 mm Equivalent: 1.5
Shutter Speed                   : 1/200
Thumbnail Image                 : (Binary data 6035 bytes, use -b option to extract)
Circle Of Confusion             : 0.020 mm
Depth Of Field                  : inf (2.28 m - inf)
Field Of View                   : 67.4 deg
Focal Length                    : 18.0 mm (35 mm equivalent: 27.0 mm)
Hyperfocal Distance             : 2.28 m
Light Value                     : 12.3
}}}


After starting JOSM, opening the a.jpg and adding new layer, I am getting this exception:
{{{
java.lang.NullPointerException
	at org.openstreetmap.josm.data.osm.QuadBuckets.search(QuadBuckets.java:733)
	at org.openstreetmap.josm.data.osm.DataSet.searchNodes(DataSet.java:193)
	at org.openstreetmap.josm.gui.NavigatableComponent.getNearestNodesImpl(NavigatableComponent.java:519)
	at org.openstreetmap.josm.gui.NavigatableComponent.getNearestNode(NavigatableComponent.java:625)
	at org.openstreetmap.josm.gui.NavigatableComponent.getNearestNode(NavigatableComponent.java:663)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.computeHelperLine(DrawAction.java:648)
	at org.openstreetmap.josm.actions.mapmode.DrawAction.mouseMoved(DrawAction.java:601)
	at java.awt.AWTEventMulticaster.mouseMoved(AWTEventMulticaster.java:313)
	at java.awt.Component.processMouseMotionEvent(Component.java:6334)
	at javax.swing.JComponent.processMouseMotionEvent(JComponent.java:3285)
	at java.awt.Component.processEvent(Component.java:6058)
	at java.awt.Container.processEvent(Container.java:2041)
	at java.awt.Component.dispatchEventImpl(Component.java:4652)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Component.dispatchEvent(Component.java:4482)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4251)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
	at java.awt.Container.dispatchEventImpl(Container.java:2085)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4482)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:644)
	at java.awt.EventQueue.access$000(EventQueue.java:85)
	at java.awt.EventQueue$1.run(EventQueue.java:603)
	at java.awt.EventQueue$1.run(EventQueue.java:601)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
	at java.awt.EventQueue$2.run(EventQueue.java:617)
	at java.awt.EventQueue$2.run(EventQueue.java:615)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:614)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
}}}

Thanks in advance for fixing."	defect	closed	normal		Core		fixed		*Martin*
