|
POST
|
#1 Represents a bug which we will fix in the next release. You can fix it by modifying the 10.0 in the second line of the XML to 10.1. #2 Is the result of not including the \ in the table name.
... View more
06-17-2011
12:38 PM
|
0
|
0
|
1544
|
|
POST
|
The Montgomery.gdb included in the Tutorial does not include a feature class named centroids. In any case the spatial reference information is stored in two locations. The data in both locations should be the same, but centroids case, it's not. This should never happen, so I'm trying to get an idea of what workflow created it. We are modifying the API to look in both locations when we output a feature class or feature dataset description. The annotation feature class geometry type is always polygon. Please note that annotation is not supported by the API. You can read the table, but insert or update is blocked.
... View more
06-17-2011
10:35 AM
|
0
|
0
|
1596
|
|
POST
|
How was the Centroids feature class created? The spatial reference is missing from its description. ArcGIS is getting the information from an alternate location. It should be in both locations.
... View more
06-15-2011
09:20 AM
|
0
|
0
|
1596
|
|
POST
|
I use Final release of FGDBAPI. The Geodatabase::CreateTable can't create featureclass using the XML that exported from GetDefinition. The error code is -2147467259 and the description is "General function failure". The XML that exported from GetDefinition does not contain WKT and WKID tags under SpatialReference tag. There isn't way to get a spatial reference information from FGDB except using ArcGIS. When a featureclass is created using XML with the minimum spatial reference definition, a spatial reference does not equal to the default values of ArcGIS Desktop. #1 & #2 Please send a copy of your feature class (lshipman@esri.com) and we will take a look. Both of these work for us. #3 ArcGIS Desktop has access to functionality not present in the API so the default values will be different. To get more error information when table creation fails add the extended error code from the following code fragment.
if ((hr = geodatabase.CreateTable(featureClassDef,L"", streetsTable)) != S_OK)
{
wcout << "An error occurred while creating the table." << endl;
ErrorInfo::GetErrorDescription(hr, errorText);
wcout << errorText << "(" << hr << ")." << endl;
// Report any extended errors (XML).
ErrorInfo::GetErrorRecordCount(recordCount);
for (int i = 0;i <= (recordCount - 1); i++)
{
ErrorInfo::GetErrorRecord(i,hr,errorText);
wcout << errorText << endl;
}
ErrorInfo::ClearErrors();
return -1;
... View more
06-14-2011
07:38 AM
|
0
|
0
|
1544
|
|
POST
|
Converting a personal geodatabase or a file geodatabase from v10 to v9.3: 1) Create empty v9.3 pgdb or fgdb 2) Export v10 pgdb/fgdb to xml workspace 3) Import xml workspace into v9.3 pgdb/fgdb Alternatively: 1) Create empty v9.3 pgdb or fgdb 2) Copy/Paste the contents of the v10 geodatabase into v9.3 pgdb/fgdb The first approach will be slower, but will preserve unused domains. The second approach is faster, but will only copy used domains.
... View more
06-13-2011
09:14 AM
|
0
|
0
|
3460
|
|
POST
|
The included Montgomery.gdb does not include a feature class named centroids. Are you using Final or Beta 3? The following code exports the XML from the Blocks feature class. It does include the spatial reference. #include <string>
#include <iostream>
#include <fstream>
#include <FileGDBAPI.h>
using namespace std;
using namespace FileGDBAPI;
int main()
{
// Open the geodatabase.
fgdbError hr;
wstring errorText;
Geodatabase geodatabase;
if ((hr = OpenGeodatabase(L"C:/FileGDB_API_Issues/Montgomery.gdb", geodatabase)) != S_OK)
{
wcout << "An error occurred while opening the geodatabase." << endl;
ErrorInfo::GetErrorDescription(hr, errorText);
wcout << errorText << "(" << hr << ")." << endl;
return -1;
}
Table table;
if ((hr = geodatabase.OpenTable(L"\\Landbase\\Blocks", table)) != S_OK)
{
wcout << "An error occurred while opening the table." << endl;
ErrorInfo::GetErrorDescription(hr, errorText);
wcout << errorText << "(" << hr << ")." << endl;
return -1;
}
string tableDef;
if ((hr = table.GetDefinition(tableDef)) != S_OK)
{
wcout << "An error occurred while opening the table." << endl;
ErrorInfo::GetErrorDescription(hr, errorText);
wcout << errorText << "(" << hr << ")." << endl;
return -1;
}
ofstream myfile;
myfile.open("../Blocks.xml", ios::out);
myfile << tableDef;
tableDef.clear();
myfile.close();
// Close the table
if ((hr = geodatabase.CloseTable(table)) != S_OK)
{
wcout << "An error occurred while closing Cities." << endl;
ErrorInfo::GetErrorDescription(hr, errorText);
wcout << errorText << "(" << hr << ")." << endl;
return -1;
}
// Close the geodatabase
if ((hr = CloseGeodatabase(geodatabase)) != S_OK)
{
wcout << "An error occurred while closing the geodatabase." << endl;
ErrorInfo::GetErrorDescription(hr, errorText);
wcout << errorText << "(" << hr << ")." << endl;
return -1;
}
return 0;
}
... View more
06-13-2011
09:06 AM
|
0
|
0
|
1596
|
|
POST
|
As noted in the readme under Notes, #3, the API does not support multi-threading. That said, the infinite loop is strange. We have investigated this an it has to do with our use of libXML internally. We continue to investigate this and will post any results on the blog.
... View more
06-10-2011
12:33 PM
|
0
|
0
|
1371
|
|
POST
|
We plan to release a .Net wrapper for the API in the next few months.
... View more
06-06-2011
09:27 AM
|
0
|
0
|
2269
|
|
POST
|
I'd like to be able to use the File Geodatabase API to create text labels with assigned heights, location, font, and horizontal and vertical alignment. Is there a simple way to do this with the File Geodatabase API? There is no simple way to do this with the API. Annotation feature classes are not supported.
... View more
06-03-2011
09:31 AM
|
0
|
0
|
577
|
|
POST
|
The File Geodatabase API provides an open, non-ArcObjects based means for working with File Geodatabases. The File Geodatabase API is C++ based and targets advanced developers who require open access to the File Geodatabase without an ArcObjects license for purposes of interoperability to access, view and modify data. You can find more details on the API by reading the blog posting that can be found at: http://blogs.esri.com/Dev/blogs/geodatabase/default.aspx. On this discussion forum you can interact, share, and learn with users and Esri staff around the world. Look to this forum for updated lists of known issues. The File Geodatabase API Development Team
... View more
06-02-2011
02:36 PM
|
0
|
0
|
1715
|
|
POST
|
Final returns the following error: This release of the GeoDatabase is either invalid or out of date.(-2147220965). The file geodatabase is a 9.3 geodatabase. The API only supports 10.0 or later. You need to upgrade the file geodatabase to 10.0. Final has been posted to the resources site.
... View more
06-02-2011
10:27 AM
|
0
|
0
|
999
|
|
POST
|
I'm glad that you were able to find a backup. Please keep an eye on what processes are run on the data. This is not a normal occurrence. A gdb file can be copied from another file geodatabase, but it appears that some of the files under the file geodatabase directory were missing and these can not be recreated. A 10.0 File Geodatabase contains 40 files upon creation, a 9.3 contains 25. Adding data to the file geodatabase will create more. If a file geodatabase contains less than the initial number of files, it's damaged. A file geodatabase cannot be damaged without some external action. It's just a collection of files. External action can be copy/paste/move of the file geodatabase outside of ArcGIS (Windows Explorer) where a file is locked and the copy/paste/move process does not compete. Restoring a partial backup would leave a damaged file geodatabase.
... View more
05-31-2011
12:36 PM
|
0
|
0
|
2073
|
|
POST
|
We expect to have final posted sometime today. I'd be happy to look at your file geodatabase. Send a zipped copy to me at lshipman@esri.com or place a copy of it on the esri ftp site. Is it a 10.0 file geodatabase? If not, you can't open it. You may be able to get extended error information by using the following code: fgdbError hr;
wstring errorText;
Geodatabase geodatabase;
int recordCount = 0;
if ((hr = OpenGeodatabase(L"../data/Querying.gdb", geodatabase)) != S_OK)
{
wcout << "An error occurred while opening the geodatabase." << endl;
ErrorInfo::GetErrorDescription(hr, errorText);
wcout << errorText << "(" << hr << ")." << endl;
// Report any extended errors (XML).
ErrorInfo::GetErrorRecordCount(recordCount);
for (int i = 0;i <= (recordCount - 1); i++)
{
ErrorInfo::GetErrorRecord(i,hr,errorText);
wcout << errorText << endl;
}
ErrorInfo::ClearErrors();
return -1;
} This is particularly helpful when creating a table as XML parsing errors are reported via this mechanism.
... View more
05-31-2011
12:01 PM
|
0
|
0
|
999
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 05-16-2013 09:31 AM | |
| 1 | 12-21-2016 08:14 AM | |
| 1 | 07-29-2016 08:34 AM | |
| 1 | 04-15-2015 09:20 AM | |
| 1 | 12-19-2016 04:33 PM |
| Online Status |
Offline
|
| Date Last Visited |
04-24-2025
12:47 PM
|