POST
|
Any chance that the spec for the FGDB file format can be published so that the open source community can develop a library so you don't have to spend time maintaining non revenue generating code.
... View more
06-30-2015
10:48 AM
|
2
|
2
|
679
|
POST
|
Vince, I'm more than aware of basic coding practices such as setting fields to null after they are used. In this can I have a complex application with multiple classes that could use the table. So it may get closed by one class but another still has a reference to it. I have a bunch of reference counting to avoid closing it while it is still in use and thread synchronization to prevent concurrent access. There was a bug in the reference counting that then caused the Table to be used once closed. I'm also aware of the practice of using if statements to prevent referencing null pointers to prevent core dumps and return meaningful exceptions such as 'Cannot use a closed Table <name of table>'. I'd recommend that this be used in the FGDB API.
... View more
06-30-2015
07:43 AM
|
0
|
4
|
679
|
POST
|
Would it be possible to extend the API to add an isClosed method to the Geodatabase and Table classes. Also isWriteLocked and isLoadOnlyMode on Table would be useful. At the moment applications have to implement some other kind of reference counting to make sure they don't access closed geodatabases or tables or track if a table is locked or in load only mode. Trying to access closed geodatabase or tables causes a core dump rather than throwing some kind of exception or error code. This makes developing applications tricky as apps just crash rather than getting a nice 'This object is closed' type message.
... View more
06-29-2015
02:20 PM
|
0
|
6
|
4348
|
POST
|
Lance, I have found the solution to this issue. It's to do with how you access the libxml for the first time. If you access it from a thread other than the main thread then there can be issues unless xmlInitParser() has been called first. See the following web page. http://www.xmlsoft.org/threads.html Is there any chance that you could add a function (e.g. FileGDBAPI::Initialize) that applications could call from the main thread. This function would call xmlInitParser() and any other required initialization.
... View more
06-24-2015
08:24 AM
|
0
|
0
|
652
|
POST
|
My admins tell me the ArcGIS patches were installed. I downloaded a 10.3.1 trial on my local machine and it seems to work without crashing. My client is in the process of installing 10.3.1 so I'm not going to spend more time on 10.2.2.
... View more
06-05-2015
12:54 PM
|
0
|
0
|
798
|
POST
|
George, Thanks. I've forwarded this onto the server admins to see if we have the patch or if it can be installed. Paul
... View more
06-05-2015
07:55 AM
|
0
|
0
|
798
|
POST
|
I'l get my client to investigate and open a support ticket. I know they had a lot of issues migrating to SDO_GEOMETRY. There is something fundamentally wrong here where the application completely crashes when things aren't the way it expects rather than display the error that occurs. FYI it works if I export to a FGDB but not adding it to a layer in ArcMap.
... View more
06-04-2015
03:00 PM
|
0
|
1
|
798
|
POST
|
What I'm trying to test is if ArcMap 10.2.2 can connect to an Oracle 12c database that doesn't have SDE installed. Every time I try to add a layer to the map from an Oracle database base connection the ArcMap crashes and exits without any messages. I was wondering if this was SDO_GEOMETRY related so I created the simple table below and it crashes too. CREATE TABLE TEST ( ID NUMBER(10) PRIMARY KEY, NAME VARCHAR2(20) ) Then I tried adding an OBJECTID NUMBER(38) with a unique key at it also crashes. I also tried a Query Layer with an table with SDO_GEOMETRY and it also crashes. The SDO_GEOMETRY layers had the SDO_GEOM_METADATA records. So the question is can ArcMap connect to an Oracle database that doesn't have SDE installed without crashing. FYI Oracle client is 12.1.0.1.0
... View more
06-04-2015
01:14 PM
|
0
|
6
|
5245
|
POST
|
Here is what I have found related to threading and the FGDB library. I'm using a Java wrapper. Have a single synchronization monitor for the whole API. Use this if you create a geodatabase, close a geodatabase, add/change tables etc. The issue is the XML library which is not thread safe. In fact it's so thread dumb it shares memory when reading different XML files. FYI the mtkime and localtime function is also thread dumb if you use that to convert from a long time to a time_t instance. Have a separate synchronization monitor for each GDB (if you use the same GDB in different threads). Use this when you do operations such as inserts, updates, deletes, queries, accessing enum rows and the row objects. Avoid using ClearErrors, GetErrorRecordCount, GetErrorRecord. I'm constantly getting core dumps when calling these. I think there is something wrong with the pthread thread local variable code used there. When using the thread monitor 1 I always synchronize on 2 first. That way you avoid deadlocking situations of holding the lock for 2 while getting 1. FYI with the above strategy I've been able to develop multi-threaded applications with 20 threads that create 400 file GDB files.
... View more
05-08-2015
07:37 AM
|
1
|
0
|
652
|
POST
|
That's great news Vince. What is the license agreement for the two binary libraries? Can they be bundled in an application or do they require end users to download the binaries themselves? I couldn't figure it out from the license directory in the downloads. Most of that seems to be reference to libraries that you use to build your binaries or the sample source code.
... View more
03-20-2015
04:57 PM
|
0
|
3
|
597
|
POST
|
1.4 seems to have solved the crash I has with sorting data and string columns
... View more
03-20-2015
04:50 PM
|
0
|
0
|
999
|
POST
|
Any chance the following will be fixed or available in the 1.4 release. Thread support. Right now things crash if you create different file geodatabases in multiple threads. I'm not looking for full threading support for a single file geodatabase. But it would be nice to operate on different file geodatabases without having the synchronize on the whole API. I think the main issue is the XML library having shared data so you can't even use it in multiple threads. Support for order by on date and integer columns. Not crash on windows when creating a FGDB after deleting another FGDB. Not completely crash if invalid SQL is issued More meaningful errors (e.g. file XXX not found) rather than general function errors if files go missing (e.g. network failure) A gcc compatible library on windows as well as Visual Studio
... View more
11-03-2014
04:06 PM
|
0
|
3
|
999
|
POST
|
Is it possible using the API to re-build the spatial index for a layer. We have an application that runs on Citrix servers. Sometimes they get disconnected and the application is forced to close on the server. This results in records not being updated in the spatial index. As a result any bounding box queries fail to return the records. In ArcCatalog I can delete the index then re-add it and then everything is back to normal. I'd like to be able to do that using the API.
... View more
09-10-2014
02:44 PM
|
0
|
1
|
3520
|
POST
|
On Mavericks you can use clang++ instead of g++ with the following options for compiling and linking. That way you don't need to change the library locations using libtool. -stdlib=libstdc++ -mmacosx-version-min=10.6 I got this from the following page. https://support.enthought.com/entries/26184115-GCC-Clang-and-Cython-in-OS-X-10-9-Mavericks
... View more
05-30-2014
10:36 AM
|
0
|
0
|
330
|
Title | Kudos | Posted |
---|---|---|
1 | 05-30-2012 10:50 AM | |
1 | 05-08-2015 07:37 AM | |
2 | 06-30-2015 10:55 AM | |
2 | 06-30-2015 10:48 AM | |
1 | 01-06-2014 12:32 PM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|