Hi Uwe, > I made a small test and I can > always reproduce an error. > I think it is better to make more > tests *after* you find this bug: > > 1. Run this in pgAdminIII (without creating indices!): > > drop table if exists t_line_invis; > CREATE TABLE t_line_invis ( lnr integer, geom geometry ( LINESTRING, 0 > ) ); > INSERT INTO t_line_invis VALUES > ( 1, ST_GeometryFromText ( 'LINESTRING ( 2000.0 2000.0, 2500.0 > 2300.0, 2100.0 2500.0 )', 0 ) ); > INSERT INTO t_line_invis VALUES > ( 2, ST_GeometryFromText ( 'LINESTRING ( 1000.0 1000.0, 1500.0 > 1300.0, 1100.0 1500.0 )', 0 ) ); > > 2. Start OJ (3458) with a small project-window (459, 346). > > 3. Open> Data Store Layer and load > the table t_line_invis. > > 4. The error "No description was provided" appears. I did not get this error. Have you more information in the log ? Can you reproduce it always ? > 5. Click at View/Edit Attributes. > The table is empty. This is how datastore works : it load data intersecting the current view. > 6. Zoom To Full Extent now I see the geometry > and after View/Edit Attributes the table was not empty. Use the extent calculated by ST_Estimated_Extent (or ST_Extent) and load features intersecting the extent (all the features) > > 7. LeftClick inside the table and the InternalError appears > (but I think, this is an old problem and has nothing to do with PostGIS): Yes, an old problem appearing sometimes the first time OJ tries to drow a shape.
Except 4. that I can't reproduce, and the following Stroke bug, other behaviour is desired. As I've already said, we could include zoom to full extent just after setting a connection to a new dataset, but It would make impossible to connect to a dataset containing millions of features. An improvement could be to zoom to the first feature... Michaël > > java.lang.InternalError: Unable to Stroke shape (attempt to validate > Pipe with invalid SurfaceData) > at sun.java2d.pipe.LoopPipe.getStrokeSpans(Unknown Source) > at sun.java2d.pipe.LoopPipe.draw(Unknown Source) > at sun.java2d.pipe.ValidatePipe.draw(Unknown Source) > at sun.java2d.SunGraphics2D.draw(Unknown Source) > at > com.vividsolutions.jump.workbench.ui.LayerViewPanel$6.run(LayerViewPanel.java:742) > at > com.vividsolutions.jump.workbench.ui.GUIUtil.invokeOnEventThread(GUIUtil.java:612) > at > com.vividsolutions.jump.workbench.ui.LayerViewPanel.flash(LayerViewPanel.java:739) > at > com.vividsolutions.jump.workbench.ui.LayerViewPanel.flash(LayerViewPanel.java:771) > at > com.vividsolutions.jump.workbench.ui.zoom.ZoomToSelectedItemsPlugIn.flash(ZoomToSelectedItemsPlugIn.java:189) > at > com.vividsolutions.jump.workbench.ui.AttributePanel$2.mouseClicked(AttributePanel.java:196) > at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source) > at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source) > at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source) > at java.awt.Component.processMouseEvent(Unknown Source) > at javax.swing.JComponent.processMouseEvent(Unknown Source) > at java.awt.Component.processEvent(Unknown Source) > at java.awt.Container.processEvent(Unknown Source) > at java.awt.Component.dispatchEventImpl(Unknown Source) > at java.awt.Container.dispatchEventImpl(Unknown Source) > at java.awt.Component.dispatchEvent(Unknown Source) > at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) > at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) > at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) > at java.awt.Container.dispatchEventImpl(Unknown Source) > at java.awt.Window.dispatchEventImpl(Unknown Source) > at java.awt.Component.dispatchEvent(Unknown Source) > at java.awt.EventQueue.dispatchEventImpl(Unknown Source) > at java.awt.EventQueue.access$200(Unknown Source) > at java.awt.EventQueue$3.run(Unknown Source) > at java.awt.EventQueue$3.run(Unknown Source) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) > at > java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) > at java.awt.EventQueue$4.run(Unknown Source) > at java.awt.EventQueue$4.run(Unknown Source) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) > at java.awt.EventQueue.dispatchEvent(Unknown Source) > at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown > Source) > at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) > at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown > Source) > at java.awt.EventDispatchThread.pumpEvents(Unknown Source) > at java.awt.EventDispatchThread.pumpEvents(Unknown Source) > at java.awt.EventDispatchThread.run(Unknown Source) > > > > Uwe > > Am 31.03.2013 14:11, schrieb Michaël Michaud: >> Hi Uwe, >> >> I made two improvements to try to solve the extent calculation problem >> (see r3439). >> >> Note : I don't know if you still have the WKB 0 bug. >> >> Add a "VACUMM ANALYZE theNewTable" after creation of a new table >> why ? >> It seems that the index creation is not enough to use >> ST_Estimated_Extent >> just after the table creation >> >> Test if the geometry column we want to use is indexed with a spatial >> index >> to determine if ST_Estimated_Extent or ST_Extent must be used. >> (it was quite difficult to know if a column is spatially indexed). >> >> Please try extensively, >> >> Michaël >>> Hi, >>> >>> OK, I see, >>> There are 2 methods to get the envelope in the code : >>> >>> ST_Estimated_Extent (fast, not precise, based on index) >>> ST_Extent (slow, precise) >>> >>> Currently, we switch on second method if first one throws an exception >>> (don't know in which circumstances exactly) >>> >>> I can see if I can add a test on spatial index existence and switch >>> also to second method if there is no spatial index. >>> >>> Michaël >>> >>>> Hi Jukka, >>>> >>>> Bingo!!! >>>> That was the 100 000 000,- euro idea! >>>> >>>> create index on t_line_invis using gist ( geom ); >>>> >>>> Now I see the geometries in openjump. >>>> >>>> But I see a problem with small tables creating >>>> without indices. >>>> What can we do with this? >>>> >>>> Uwe >>>> >>>> >>>> Am 28.03.2013 08:25, schrieb Rahkonen Jukka: >>>>> Hi Uwe, >>>>> >>>>> Try to add spatial index to your test tables and see what happens >>>>> then. OpenJUMP is doing query as >>>>> SELECT ST_AsBinary(ST_Estimated_Extent) >>>>> It is fast and I think the right way to do it in OpenJUMP but I do >>>>> not believe that it can work work without spatial index. >>>>> http://postgis.refractions.net/documentation/manual-1.4/ST_Estimated_Extent.html >>>>> >>>>> >>>>> >>>>> -Jukka- >>>>> >>>>> >>>>> ________________________________________ >>>>> Lähettäjä: Uwe Dalluege [uwe.dallu...@hcu-hamburg.de] >>>>> Lähetetty: 28. maaliskuuta 2013 8:29 >>>>> Vastaanottaja: OpenJump develop and use >>>>> Cc: Michaël Michaud >>>>> Aihe: Re: [JPP-Devel] Unknown WKB type 0 and change coord_dimension >>>>> >>>>> Hi Michaël, >>>>> >>>>> I see it is not so easy to find this bug. >>>>> I will make some other tests and let you know. >>>>> >>>>> But have you tried my test I have posted at 26.03.2013 >>>>> (PostGIS Layer invisible; Zoom To Full Extent)? >>>>> >>>>> ... >>>>> >>>>> I have a problem with Zoom To Full Extent >>>>> with the new PostGIS reader! >>>>> Using PostgreSQL 9.2.1 with PostGIS 2.0. >>>>> >>>>> I created two tables with SQL. >>>>> >>>>> This table (t_line) works fine: >>>>> >>>>> drop table if exists t_line; >>>>> CREATE TABLE t_line ( lnr integer, geom geometry ( LINESTRING, 0 ) ); >>>>> INSERT INTO t_line VALUES >>>>> ( 1, ST_GeometryFromText ( 'LINESTRING ( 200.0 200.0, 250.0 >>>>> 230.0, >>>>> 210.0 250.0 )', 0 ) ); >>>>> INSERT INTO t_line VALUES >>>>> ( 2, ST_GeometryFromText ( 'LINESTRING ( 100.0 100.0, 150.0 >>>>> 130.0, >>>>> 110.0 150.0 )', 0 ) ); >>>>> >>>>> SELECT * FROM t_line; >>>>> >>>>> >>>>> This table (t_line_invis) is invisible after Zoom To Full Extent: >>>>> >>>>> drop table if exists t_line_invis; >>>>> CREATE TABLE t_line_invis ( lnr integer, geom geometry ( >>>>> LINESTRING, 0 ) ); >>>>> INSERT INTO t_line_invis VALUES >>>>> ( 1, ST_GeometryFromText ( 'LINESTRING ( 2000.0 2000.0, >>>>> 2500.0 2300.0, >>>>> 2100.0 2500.0 )', 0 ) ); >>>>> INSERT INTO t_line_invis VALUES >>>>> ( 2, ST_GeometryFromText ( 'LINESTRING ( 1000.0 1000.0, >>>>> 1500.0 1300.0, >>>>> 1100.0 1500.0 )', 0 ) ); >>>>> >>>>> SELECT * FROM t_line_invis; >>>>> ... >>>>> >>>>> Uwe >>>>> >>>>> Am 27.03.2013 19:36, schrieb Michaël Michaud: >>>>>> Hi, >>>>>> >>>>>> I can't see the "WKB type 0" problem in the above sequence. >>>>>> Is it solved or is it repeatable with another sequence. >>>>>> >>>>>>> No, I do not tested it with r3404+ >>>>>>> but I done the modification inside the source code. >>>>>>> >>>>>>> Now I test r3412. >>>>>>> Do you made the modification in r3412? >>>>>>> >>>>>>> I see that the coord_dimension has changed from 2 to 3: >>>>>>> >>>>>>> >>>>>>> 1. I open my project GeoCity with a .jml layer >>>>>>> Wohngebiet. >>>>>> Did you change the dataset ? (I used Gebaeudeprivat instead) >>>>>>> 2. Saving this jml-layer to PostGIS. >>>>>>> 3. Close OpenJUMP (important)! >>>>>>> 4. Start OJ again and open the table Wohngebiet >>>>>>> in PostGIS >>>>>>> 5. No Such Element Exception >>>>>>> and I see no geometries >>>>>> I could not reproduce this today, but I have seen that before. >>>>>> I have already tried to find a solution but it's a bit tricky. >>>>>> I think we will have to live with it some time... >>>>>>> 6. "Zoom To Full Extent" and I see the geometries. >>>>>> As I told you, full extent of a database layer can contains too >>>>>> many features for OpenJUMP, and I think it is more safe not >>>>>> to do it automatically after the first import. If it is not down, >>>>>> the layer may be empty (probably related to the No such >>>>>> element exception though) >>>>>>> 7. Now I load the table again and there is no more >>>>>>> the error "No Such Element Exception". >>>>>> And after the first "Zoom to extent", the driver extracts data >>>>>> in a zone where there IS data. >>>>>>> 8. Close OJ. >>>>>>> 9. Start OJ and load the table Wohngebiet. >>>>>>> 10. The error "No Such Element Exception" appears. >>>>>>> 11. Set srid to 31467 to the layer Wohngebiet. >>>>>>> 12. Save the PostGIS layer Wohngebiet under a new name wg31467. >>>>>>> 13. The coord_dimension of wg31467 is not 2 but 3! >>>>>> According to my tests and to the code the geometry coord dimension >>>>>> should be 2, but there may be strange behaviour as the code tests a >>>>>> few geometries and if it finds a single z, it save as a >>>>>> GeometryZ, otherwise >>>>>> it should save as Geometry. >>>>>> Is it possible that you edited a z on a geometry ? >>>>>>> 14. Load the table wg31467 and there are no geometries! >>>>>>> No errors and no geometries. >>>>>> Cannot reproduce that. >>>>>> Is it possible that you have moved and that your windows do not >>>>>> intersects data anymore ? >>>>>> >>>>>> Michaël >>>>>>> I hope you can reproduce this. >>>>>>> >>>>>>> Have a nice day >>>>>>> >>>>>>> Uwe >>>>>>> >>>>>>> ------------------------------------------------------------------------------ >>>>>>> >>>>>>> >>>>>>> Own the Future-Intel® Level Up Game Demo Contest 2013 >>>>>>> Rise to greatness in Intel's independent game demo contest. >>>>>>> Compete for recognition, cash, and the chance to get your game >>>>>>> on Steam. $5K grand prize plus 10 genre and skill prizes. >>>>>>> Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d >>>>>>> _______________________________________________ >>>>>>> Jump-pilot-devel mailing list >>>>>>> Jump-pilot-devel@lists.sourceforge.net >>>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>>>>> >>>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> >>>>>> >>>>>> Own the Future-Intel® Level Up Game Demo Contest 2013 >>>>>> Rise to greatness in Intel's independent game demo contest. >>>>>> Compete for recognition, cash, and the chance to get your game >>>>>> on Steam. $5K grand prize plus 10 genre and skill prizes. >>>>>> Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d >>>>>> _______________________________________________ >>>>>> Jump-pilot-devel mailing list >>>>>> Jump-pilot-devel@lists.sourceforge.net >>>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>>>> >>>>> ------------------------------------------------------------------------------ >>>>> >>>>> >>>>> Own the Future-Intel® Level Up Game Demo Contest 2013 >>>>> Rise to greatness in Intel's independent game demo contest. >>>>> Compete for recognition, cash, and the chance to get your game >>>>> on Steam. $5K grand prize plus 10 genre and skill prizes. >>>>> Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d >>>>> _______________________________________________ >>>>> Jump-pilot-devel mailing list >>>>> Jump-pilot-devel@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> >>>> Own the Future-Intel® Level Up Game Demo Contest 2013 >>>> Rise to greatness in Intel's independent game demo contest. >>>> Compete for recognition, cash, and the chance to get your game >>>> on Steam. $5K grand prize plus 10 genre and skill prizes. >>>> Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d >>>> _______________________________________________ >>>> Jump-pilot-devel mailing list >>>> Jump-pilot-devel@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>>> >>>> >>> >>> ------------------------------------------------------------------------------ >>> >>> >>> Own the Future-Intel® Level Up Game Demo Contest 2013 >>> Rise to greatness in Intel's independent game demo contest. >>> Compete for recognition, cash, and the chance to get your game >>> on Steam. $5K grand prize plus 10 genre and skill prizes. >>> Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d >>> _______________________________________________ >>> Jump-pilot-devel mailing list >>> Jump-pilot-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >>> >>> >> >> >> ------------------------------------------------------------------------------ >> >> >> Own the Future-Intel(R) Level Up Game Demo Contest 2013 >> Rise to greatness in Intel's independent game demo contest. Compete >> for recognition, cash, and the chance to get your game on Steam. >> $5K grand prize plus 10 genre and skill prizes. Submit your demo >> by 6/6/13. http://altfarm.mediaplex.com/ad/ck/12124-176961-30367-2 >> _______________________________________________ >> Jump-pilot-devel mailing list >> Jump-pilot-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel >> > > ------------------------------------------------------------------------------ Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal http://www.cisco.com/web/learning/employer_resources/index.html _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel