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

Reply via email to