edgar.sol...@web.de [mailto:edgar.sol...@web.de] Lähetetty: 9. lokakuuta 2016 22:17
Jukka, On 07.10.2016 12:29, edgar.sol...@web.de wrote: >> On 07.10.2016 12:21, Rahkonen Jukka (MML) wrote: >>> Mail reason for potentially keeping the ECW/JP2 driver: it is faster. At >>> least I am remembering it was fast and therefore I tried to test it again. >>> There is rather a long lag in opening JPEG2000 images through imageio-ext + >>> GDAL while with native ecw binaries the initial opening is very fast. And >>> the size of the ecw binaries is about 3 MB only. >> >> yeah, i guess we can keep it because of it's small footprint, but as we are >> moving into a x64 world, it will not run there anymore. >> >> will have to have a look why it doesn't activate anymore. ..ede > ok, checked it. works instantly w/ the latest snapshot. some further > investigation (5hrs of digging ;) showed > A) make sure you use or enforce a 32bit java in the start batch. That was OK. > B) make sure to _not_ copy GDAL support to lib/native. it contains the same > but incompatible dll files like the ECW support, but is preferred in the > library path leading to 'procedure not issues' That was it. I tried to compare the speed of direct ECW/JP2 driver and through GDAL with the same OpenJUMP. > C) if that doesn't work, also make sure you have MS C-runtime 2008 installed. https://www.microsoft.com/en-us/download/details.aspx?id=29 > if that still doesn't work please send the complete start log. openjump.log > or copy/paste cmd terminal output. ..ede > PS: not sure how to deal with this. switching java.library.path's before > loading the dll's might work. will have to have a look at it. Jukka can you > please test the performance differences for ECW/JP2 between GDAL and ECW sdk, > so i can make an informed decision if it is worth the effort to make both > work simultaneously? As I said, ECW/JP2 is much faster. Time till the image shows on the screen is 1 s with ECW/JP2 vs. 42. seconds through ImageIO-EXT + GDAL ECWJP2 driver. Once the image is open I don't feel difference in speed. It is only the 41 seconds wait with initial opening. I don't believe that the lag comes from the ECW/JPEG2000 SDK because it is the same, nor from GDAL because QGIS opens images fast. We do not have much left and it must be either ImageIO-ext part or the way how OpenJUMP is discussing with it that makes opening unnecessary slow. I can see something about JAI in the logs, and I see also that the GDAL version reserves much more memory. I wonder if ImageIO is creating pyramid layers or some cache when it loads the image initially. Because of the small footprint and good performance it would be nice to have the native ECW/JP2 if GDAL bindings can't be made fast. Unfortunately on Windows and with 64-bit jre they don't work. I believe we could now use also the ECW/JP2 SDK version 5.x, but there is one requirement that OpenJUMP can't probably fulfill at the moment: it should be able to read also data through the net with ECWP protocol. Otherwise the EULA, which can be found inside the OJ's gdal extension libraries (at the end of the ECW5License.rtf) does not look bad: APPENDIX A Required EULA Terms for ERDAS ECW/JP2 Desktop Read-Only Redistributable SDK Desktop Applications You shall distribute the Desktop Application to end users with an End User License Agreement ("EULA") in a manner that forms a contract binding the end user to the EULA terms under applicable law. You shall provide clear notice to end users before or at the time of delivery of the Desktop Application that the Desktop Application contains technology owned by Intergraph. You may include in the EULA additional notices or other provisions, so long as they are no less protective of Intergraph than the terms set forth below. The EULA shall contain the following terms or legally equivalent terms, where “You” refers to Your end-user: You have acquired a product ("Product") that includes software licensed from Intergraph Corporation (“Intergraph”). Those installed software products of Intergraph origin, as well as any associated media, printed materials, and "online" or electronic documentation ("Software) are protected by copyright laws and international copyright treaties. The Software is licensed, not sold. If You do not agree to this End User License Agreement ("EULA"), do not use [or download] the Product. If you have paid consideration in return for authorization to use the Product, promptly contact the person from whom You received this Product for instructions on return of the unused Product(s) for a refund. Any use of the Software, including but not limited to use of the Product, will constitute Your agreement to this EULA (or ratification of any previous consent). NO WARRANTIES FOR THE SOFTWARE. THE SOFTWARE IS PROVIDED "AS IS" AND WITH ALL FAULTS. THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE AND ACCURACY IS WITH YOU. ALSO, THERE IS NO WARRANTY AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE SOFTWARE OR AGAINST INFRINGEMENT. IF YOU HAVE RECEIVED ANY WARRANTIES REGARDING THE PRODUCT OR THE SOFTWARE, THOSE WARRANTIES DO NOT ORIGINATE FROM, AND ARE NOT BINDING ON, INTERGRAPH. NO LIABILITY FOR CERTAIN DAMAGES. EXCEPT AS PROHIBITED BY LAW, INTERGRAPH SHALL HAVE NO LIABILITY FOR ANY INDIRECT, SPECIAL, CONSEQUENTIAL OR INCIDENTAL DAMAGES ARISING FROM OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE SOFTWARE. THIS LIMITATION SHALL APPLY EVEN IF ANY REMEDY FAILS IN ITS ESSENTIAL PURPOSE. Prohibition of Reverse Engineering, Decompilation and Disassembly. You may not reverse engineer, decompile, or disassemble the Software or modifying the Enhanced Compressed Wavelet (“ECW”)file format in any manner. Export Restrictions. You acknowledge that the Software, or any part thereof, or any process or service that is the direct product of the Software is of U.S. origin. You agree to comply with all applicable international and national laws that apply to these products, including the U.S. Export Administration Regulations, as well as end-user, end-use and destination restrictions and embargoes issued by U.S. and other governments having jurisdiction. ECW/JP2 Desktop Read-Only Redistributable SDK v5.1 032014 -Jukka- > PPS: that's the german error, after exposing it w/ some additional logging > (OJ r5068 w/ '-v debug') > java.lang.UnsatisfiedLinkError: > E:\proj_oj-core_svn-4.4\lib\native\x86\jecw.dll: Die angegebene Prozedur > wurde nicht gefunden at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857) at java.lang.Runtime.loadLibrary0(Runtime.java:870) at java.lang.System.loadLibrary(System.java:1122) at com.vividsolutions.jump.workbench.imagery.ecw.ECWImageFactory._isAvailable(ECWImageFactory.java:132) at com.vividsolutions.jump.workbench.imagery.ecw.ECWImageFactory.isAvailable(ECWImageFactory.java:103) at org.openjump.OpenJumpConfiguration.addImageFactory(OpenJumpConfiguration.java:223) at org.openjump.OpenJumpConfiguration.postExtensionInitialization(OpenJumpConfiguration.java:192) at com.vividsolutions.jump.workbench.JUMPWorkbench.main(JUMPWorkbench.java:473) at com.vividsolutions.jump.workbench.JUMPWorkbench.main(JUMPWorkbench.java:397) ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel