OpenSextant / giscore

GIS file data format streaming input and output library
Other
9 stars 3 forks source link

demonstrating error with time #6

Open gxm opened 9 years ago

gxm commented 9 years ago

I'm trying to import a gdb file which causes a NullPointerException. I've added a test and the gdb files which demonstrates the issue. I've tried building this in Xcode to try to fix the issue, and haven't been able to get a functional dylib.

rdrand commented 9 years ago

In the past when we used arcobjects I found that you often couldn't read older gdb files than the current version. If I recall correctly the unlicensed C library from ESRI that this is using was for version 10. What version of GDB file are you using?

The other consideration is what is throwing the NPE?

Building a new dylib on the Mac isn't totally trivial unfortunately. I do wish it were. If you do want to fix the issue I recommend trying to fix it on the Java side of the interface if possible.

gxm commented 9 years ago

I am getting the gdb file from a 3rd party, I'll ask them what version of ESRI they use.

I managed to get the library to build in Xcode (yay!), and fixed the NPE. The JNI code was directly instantiating GregorianCalendar with AllocObject, which skips the ctor, which is where the TimeZone is set. I changed it to use the static Calendar.getInstance() and then set millis on that instance. You could also call a ctor on GregorianCalendar.

Alas, the fix takes me to my next issue, coordinate transforms. The lat/long in the gdb isn't in WSG84. Any chance of seeing coordinate transforms?

gxm commented 9 years ago

This Pull Request can be ignored if you accept the other - https://github.com/OpenSextant/giscore/pull/7