Opened 12 years ago
Closed 9 years ago
#8485 closed defect (wontfix)
Unable to use South Pole projection with Proj.4 plugin
Reported by: | Owned by: | joshdoe | |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Plugin proj4j | Version: | tested |
Keywords: | Cc: |
Description
What steps will reproduce the problem?
- Install Proj.4 plugin
- Switch to EPSG:3031 projection
- Load Antarctica data (http://download.geofabrik.de/openstreetmap/antarctica.osm.bz2)
What is the expected result?
Should show Antarctica data in EPSG:3031
What happens instead?
Crash
Please provide any additional information below. Attach a screenshot if
possible.
Repository Root: http://josm.openstreetmap.de/svn Build-Date: 2013-02-06 02:31:34 Last Changed Author: Don-vip Revision: 5697 Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b URL: http://josm.openstreetmap.de/svn/trunk Last Changed Date: 2013-02-06 01:35:48 +0100 (Wed, 06 Feb 2013) Last Changed Rev: 5697 Identification: JOSM/1.5 (5697 en) Memory Usage: 420 MB / 910 MB (262 MB allocated, but free) Java version: 1.6.0_20, Sun Microsystems Inc., OpenJDK 64-Bit Server VM Operating system: Linux Dataset consistency test: No problems found Plugin: proj4j (29210) java.lang.IllegalArgumentException at org.openstreetmap.josm.gui.mappaint.StyleCache.getWithRange(StyleCache.java:120) at org.openstreetmap.josm.gui.mappaint.ElemStyles.getStyleCacheWithRange(ElemStyles.java:67) at org.openstreetmap.josm.gui.mappaint.ElemStyles.get(ElemStyles.java:54) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer$StyleCollector.add(StyledMapRenderer.java:188) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.collectRelationStyles(StyledMapRenderer.java:376) at org.openstreetmap.josm.data.osm.visitor.paint.StyledMapRenderer.render(StyledMapRenderer.java:1343) at org.openstreetmap.josm.gui.layer.OsmDataLayer.paint(OsmDataLayer.java:320) at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:503) at org.openstreetmap.josm.gui.MapView.paint(MapView.java:563) at javax.swing.JComponent.paintChildren(JComponent.java:866) at javax.swing.JComponent.paint(JComponent.java:1038) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5138) at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:302) at javax.swing.RepaintManager.paint(RepaintManager.java:1145) at javax.swing.JComponent._paintImmediately(JComponent.java:5086) at javax.swing.JComponent.paintImmediately(JComponent.java:4896) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:740) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:696) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:676) at javax.swing.RepaintManager.access$700(RepaintManager.java:57) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1550) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647) at java.awt.EventQueue.access$000(EventQueue.java:96) at java.awt.EventQueue$1.run(EventQueue.java:608) at java.awt.EventQueue$1.run(EventQueue.java:606) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:617) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:194) at java.awt.Dialog$1.run(Dialog.java:1072) at java.awt.Dialog$3.run(Dialog.java:1126) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1124) at java.awt.Component.show(Component.java:1496) at java.awt.Component.setVisible(Component.java:1448) at java.awt.Window.setVisible(Window.java:842) at java.awt.Dialog.setVisible(Dialog.java:1011) at org.openstreetmap.josm.gui.ExtendedDialog.setVisible(ExtendedDialog.java:476) at org.openstreetmap.josm.gui.ExtendedDialog.showDialog(ExtendedDialog.java:269) at org.openstreetmap.josm.tools.BugReportExceptionHandler$1.run(BugReportExceptionHandler.java:96) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:647) at java.awt.EventQueue.access$000(EventQueue.java:96) at java.awt.EventQueue$1.run(EventQueue.java:608) at java.awt.EventQueue$1.run(EventQueue.java:606) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:105) at java.awt.EventQueue.dispatchEvent(EventQueue.java:617) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177) at java.awt.EventDispatchThread.run(EventDispatchThread.java:138
Attachments (0)
Change History (9)
comment:1 by , 12 years ago
comment:2 by , 12 years ago
The rendering code is not guilty, it's because NavigatableComponent.getDist100Pixel()
returns 0.0.
I don't know why, yet.
comment:3 by , 12 years ago
Could that be due to the meridians all joining in one point (south pole) …?
comment:4 by , 12 years ago
Maybe. Thid method does not seem to work with this projection:
public LatLon eastNorth2latlon(EastNorth p) { org.osgeo.proj4j.ProjCoordinate pc1 = new org.osgeo.proj4j.ProjCoordinate(p.east(), p.north()); org.osgeo.proj4j.ProjCoordinate pc2 = new org.osgeo.proj4j.ProjCoordinate(); System.out.println("InvFrom " + pc1.x + " " + pc1.y); transformToWGS84.transform(pc1, pc2); System.out.println("InvTo " + pc2.x + " " + pc2.y); return new LatLon(pc2.y, pc2.x); }
InvFrom -9.220318685515014E-11 -1666567.013815138 => InvTo -180.0 -74.74854322089772 InvFrom 1.555928778180659E-10 -1666567.0138151385 => InvTo 180.0 -74.74854322089772 InvFrom 2.5163786412551404E-10 -1666567.0138151385 => InvTo 180.0 -74.74854322089772
comment:6 by , 12 years ago
Proj4j code has evolved, we have the revision 2150, current is 2285, let's see if upgrading it resolves this issue.
comment:8 by , 12 years ago
Keywords: | template_report removed |
---|---|
Summary: | JOSM crash with Proj.4 plugin → Unable to use South Pole projection with Proj.4 plugin |
comment:9 by , 9 years ago
Resolution: | → wontfix |
---|---|
Status: | new → closed |
The plugin has been deprecated, most of its projections are now in JOSM core.
For a correct representation of EPSG:3031, I went to http://jira.codehaus.org/browse/GEOS-3761
Enabling wireframe mode disables those exceptions, but the Antarctica isn't displayed at all.
I guess this problem isn't due to the proj4j plugin, but related to the rendering code. I'm not familiar with that part of JOSM, though.