[PostGIS] Geometry is not recognised

2853
8
09-12-2011 05:19 AM
Highlighted
New Contributor II
Dear all,

I am completely new to Data Interoperability Extension and try to create a new connection to a PostGIS database.

So far I have managed to create a connection within ArcCatalog and to display the table in ArcCatalog (see attached screenshot). Apparently, it even recognizes the geometry (column SHAPE), but nothing is displayed if I choose the "Geography" preview. Similarly, ArcMap doesn't even see the layer.

Is there anything that I might have forgotten?

For info, I am using ArcInfo 10.0, PostgreSQL 9.0, PostGIS 1.5, Windows 7

Thanks a lot in advance and best regards,

Stephane
8 Replies
Highlighted
Esri Regular Contributor
Stephane

Can you select rows in the attribute table and pan to the selected features, and can you flash and identify the features?

Regards
Reply
0 Kudos
Highlighted
New Contributor II
Dear Bruce,

thank you for your answer!

Unfortunately I can't, as I can't even open the layer in ArcMap. I try to add layer, choose "Interooperability connections", open "myconection.fdl" but this one is empty.

Only in ArcCatalog, I can open "myconnection.fdl" and see the layer inside. The layer seems to be a geographic layer ("point" icon, column "SHAPE" in the attribute table), but can't be displayed in the Geography preview.

Do you have an idea where it can come from?

Thanks again!

best,

Stéphane
Reply
0 Kudos
Highlighted
Esri Regular Contributor
Stephane

The interop connection should display Line, NoGeometry, Point and Polygon feature classes when opened, either when using the Add Data tool or in the Catalog Window browse tree.  This makes me suspect an issue with the table in PostGreSQL.  Try adding the data as a query layer (File->Add Data->Add Query Layer) and see if you can make it work.  That method has a few more dependencies (only one geometry type in the query, one spatial reference, a primary key in the query).  If that fails use PGAdmin to inspect the table for issues like null geometry, no spatial reference etc.

Regards
Reply
0 Kudos
Highlighted
New Contributor II
Dear Bruce,

I made a few tries, as per your recommendations.

I checked the table in pgAdmin and, apparently, everything is fine (no empty geometry, type and srid referenced in the geometry_columns table: srid 4326 type POINT). I attach a sql dump of my table to this message.

Still the same problem: I can see my layer in ArcMap and in ArcCatalog, but only the attribute table. If I "zoom to selected feature" or "flash", nothing happens.

Interestingly enough, the "Add query layer" gives the exact opposite result: I can load my point layer, the points are displayed in ArcMap but, when I try to open the attribute table, I get the message
"Could not load data from the data source. If you can correct the problem, press the refresh button to reload data. Possible problems can include bad network connection, invalid field, etc. The operation is not supported by this implementation"


The database is installed on my local computer, so no network issue involved. Is there any field type in my table that is not recognized by ArcGIS?

Final word: I have tried the exact same procedure with other tables in my database, and always get the same behaviour.
Final word (2): I can use those layers with no problem in Qgis

Thanks a lot in advance for your help!

Stephane

PS: Just got an awful doubt: does Data Interop work with PostGIS geometry type? or only with the PostgreSQL geometry types?
Reply
0 Kudos
Highlighted
New Contributor II
PS: I have tried to create a new very simple PostGIS table (1 column INT, 1 column GEOM, 1 primary key). And still the exact same issue when using data interop, but works fine when using the query layer.
Reply
0 Kudos
Highlighted
New Contributor II
Dear all,

just a lttle up to this thread. Anyone has an idea why I am experiencing these troubles? Any idea what can cause bugs between PostGIS and ArcGIS? maybe the type of columns, the name of the geometry column, the platform or version of the tools...?

Thanks a lot in advance and wish you all a very nice week-end,

Stéphane
Reply
0 Kudos
Highlighted
New Contributor III

Sorry for picking up in such an old issue, but I'm having a somewhat similar problem:

I have point layer created through an SQL statement executed directly in the PostgreSQL / PostGIS database and it doesn't appear in the data list in ArcGIS Catalog when I connect to the database.

I already registered and indexed the geometry column in the database, defined a primary key and it works well within QGIS.

I have tried the suggestion described above of "Add Query Layer" and it works fine!

I really don't understand why it doesn't show in ArcCatalog, because I have several datasets, spatial and non-spatial, with SDE geometries and PostGIS geometries, and I'm having no trouble with them...

Any thoughts on how to correct this?

Reply
0 Kudos
Highlighted
New Contributor III

An update on this:

Using the tool Database Management Tools > Geodatabase Administration > Register with Geodatabase of the ArcToolbox and explicity describe the full path to the table, since you can't choose it from the ArcCatalog browser, and it successfully registered the dataset and now it appears normally in the ArcCatalog browser. !