I am working with ArcGIS and Python and trying to append table rows into a feature class.

You cannot use append and you cannot just make a table view of the feature class and then try to append it in.

Any ideas?

  • 1
    If you actually mean to append featureless (no geometry) records into a feature class... why would you want to? That somewhat defeats the purpose, does it not? Besides, how would the attributes match up? I may be misunderstanding the question, however, in which case, I feel more information is needed. – Nathanus Aug 5 '11 at 20:27
  • 5
    @Nathanus One reason would be with the intention of creating the geometry out of the attributes at a later stage. Another is that null geometries can represent facts about the features: it's the old distinction between zero and nodata, played out on a geometric, rather than a numeric, stage. – whuber Aug 5 '11 at 20:39
  • 2
    @Nathanus wikipedia will give you a start in an RDBMS context ("Null" is one form of nodata). According to RDBMS rules, every field in a table has to have something stored in it, so if some of your records have valid shapes and others don't, you need a shapefile (or its equivalent) and it has to hold null shapes. Moreover, what do you do to represent a parcel of land that now is permanently under water, for instance? Or to represent a parcel that you know exists but you don't yet have info about its shape and location? – whuber Aug 5 '11 at 23:03
  • 1
    @Craig the UI creates a template of a Null geometry, but it will not allow you to save it. If you find a way to do it through thr UI, it is a bug. – Ragi Yaser Burhum Aug 7 '11 at 18:07

You cannot (or are not supposed to). When I worked at GDB team, we spent time every once in awhile fixing bugs for processes that create Null geometries. The reason there is a "Find Empty geometries tool" is to fix this very thing (since some gp processes can potentially create empty processes).

As mentioned in some of the comments, there are some Complex FeatureClasses that have some internals that rely on some geometries columns being NULL, but these are handled through special codepaths - you should not attempt to create this situation within ArcGIS because you will start getting unexpected behavior.

Don't do it :)

| improve this answer | |

To get around the same issue, I created geometries for objects that had them, and default geometries for ones that didn't, added a flag called IsCurrent and set it to 1 and 0, in each case. You can easily apply a filter to view or update either.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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