I am working on a project for a client, they gave us some data from their oracleDB, and when I connect to it in arc map I can just drag and drop the tables from the catalog window into arcmap and they are drawn.

Now we have a bunch of legal deeds that I then extract the data from using OCR, then from the text I programmatically create a shape file and insert it into a table in the same database. However when I drag that table(which is in the same DB with the data they gave me, which I can just drag and drop to draw) I get the warning that says "Could not add the specified data object to the map", and it is not drawn. However when I right click on the table from the arc catalog window and hit create layer, then save the layer, then add the layer from that file that was just created, everything works fine and it is drawn.

Am I missing something? Or is something not set up properly. I would like to have the ability to drag and drop for the client as their data does that they already have.

I admit I am very new to acrGIS and the esri suite, this is the first gig I have been exposed to it, and I feel like I'm missing something simple and dumb. I've tried googling but haven't found a solution that works.

  • IS the Legal Deeds (extract the data from using OCR) spatially referenced? [Vector/Raster]
    – Mapperz
    Commented Jan 22, 2014 at 18:41
  • Its in text that reads like a paragraph, has latitudes and longitudes, and will say 30 meters N then have an angle and a direction from that point to another. Is this what you mean by spatially referenced? So basically after some AI stuff is done I get extract a set of points, right now I am putting them into the SDO_ORDINATE_ARRAY as UTM for each polygon I need to draw.(an example point would be 32479.558939789, 4380944.75198571) and my values for the SDO_GEOMETRY match theirs, as well as my ELEM_INFO_ARRAY which contains the data that it needs to be a polygon
    – branchini
    Commented Jan 22, 2014 at 20:35
  • Do you used ArcSDE as the gateway between Oracle Spatial and ArcGIS Desktop?
    – Mapperz
    Commented Jan 22, 2014 at 20:43
  • Ok, I think this is heading toward the right direction. I came across the ArcSDE thing when looking for an answer but saw that it was already in the suite I was using and didn't look into it more at the time, but I found this. resources.arcgis.com/en/help/main/10.1/index.html#//…
    – branchini
    Commented Jan 22, 2014 at 23:21
  • On that page it has a list of prerequisites. I know that it is owned by the user registering the table, there is a single sdo_geometry column. There are no other columns of a user-defined type. It has to be a valid entry in the USER_SDO_GEOM_METADATA or else i'd imagine it wouldnt draw(will check this), has a single geometry drawing type(polygon). has a not null unique id. when i query the spatial index, it is <tablename>_objshape_SPIX - objshape is the column holding the sdogeometry. I know it passed the validation tests. and there are no non null values in the array.
    – branchini
    Commented Jan 22, 2014 at 23:22

1 Answer 1


In case anyone has this same issue. I believe I have found the problem. And it has to do with the USER_SDO_GEOM_METADATA. When you create your own shape file, for acrmap to be able to use it as a third party map there are a few things(in my case) that I had to do. Before connecting the database in arcmap you have to validate the geometry with sql on the table, either with straight sql, or with sql developer. Doing this will allow arc map to at least draw the layer once it creates it from its connection to the database.

Now to have this all happen in one step, as I was trying to do. You need to use arcsde and run the "sdelayer -o register ..." command with all the appropriate parameters. Now I am using oracle 11g and arcmap 10.2. With 10.2 arcsde is integrated into arcmap and catalog. But I guess, at least in my case, the command line sdelayer program that would let me register my thrid party table, is not included. And since I'm working on an exact copy of the clients system, the account I am using can't install the command line app. Once I have this fixed and it is installed I will test it to see if this is the issue and post back. Or if anyone knows how to do this similar command without sdelayer I could look into that.

  • Try right clicking the table in ArcCatalog. There should be a Register with Geodatabase command. That will register the table with SDE and the Geodatabase (SDELayer only takes care of SDE).
    – travis
    Commented Apr 12, 2014 at 1:05
  • Yes that was needed to finally get things working. But I was completely hosed by not having my metadata set properly. I have talked with ESRI and the word is that when the move to 10.3 all the sdelayer stuff will no longer be needed.
    – branchini
    Commented May 1, 2014 at 18:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.