1

Is the column heading limited to 10 characters?

Is there a workaround besides changing the alias?

I hear that QGIS does not have this issue.

I downloaded shapefile data from https://egis-hud.opendata.arcgis.com/datasets/c1c32742599a42c9a45c95be50ed2ab6_0 and added it to ArcMap. This data has a dictionary (below) detailing column suffixes and prefixes, but my column titles are truncated.

https://static1.squarespace.com/static/5902a36c6b8f5b69e909d6ff/t/590ca0766a4963faa86d03b1/1493999734390/lai_data_dictionary.pdf

The data dictionary does not match what is shown in the picture (e.g. "h", "transit_trips", "ht_own").

enter image description here

Some of the information contained in this post requires additional references. Please edit to add citations to reliable sources that support the assertions made here. Unsourced material may be disputed or deleted.

  • 5
    Please edit the question to specify the data format. Shapefiles are based on 80's technology dBase-III+ data files, which do have a 10-byte field name buffer (if using UTF-8, this is may be much less than 10 characters, possibly as little as two). This is a format limitation, not a software one. File geodatabase has a 64-character name limit, while databases accessed through Direct Connect are limited to 31 (except Oracle, which has a native 30 limit) – Vince Mar 1 '18 at 15:53
  • it's mostly due to the .dbf format which is not esri's; if you want longer names, and you're using point layer, you may prefer to use a csv with x and y columns, they're really easy to import in qgis – Elio Diaz Mar 1 '18 at 16:20
  • 2
    What could be happening is the dictionary is created by someone at the organization who created it based on their accessing their internal database in it's native database format (such as an enterprise geodatabase) with longer field names. They then publish their data out to shapefile with 10character field names for public sharing but don't update the data dictionary to the new field names. So to the person looking at it internal, the dictionary may be right, but not match the public shapefiles... just a possibility. – John Mar 1 '18 at 16:55
  • Where have you heard "that QGIS does not have this issue"? – PolyGeo Mar 1 '18 at 21:14
  • From the Chief Research Scientist at a private company. He said, "I thought the issue was the length of the column titles, have to be 8 characters or less (or maybe it is 10) in ArcMap, and that we have longer ones. QGIS does not care about this. However, not being an ArcMap expert, there may be a workaround. Does this help?" – Ryan Stephenson Mar 2 '18 at 15:21
1

Based on the links below (I haven't tested myself) the File geodatabase does not have the same restriction:

https://community.esri.com/thread/174422

How to bypass 10 character limit of field name in ShapeFiles?

On the website you indicated you can also download File Geodatabase (in Additional resources).

Does this help?

enter image description here

3

As mention in the previous answers, the maximum length of of the field names is not linked with the software but with the format of your file. It seems that your feature class is store in a format that is not a shapefile, and that its file names are truncated when it is exported.

With shapefile (dbase table), the limit is 10 characters

With file and personnal geodatabase, the limit is 64 characters (see here) assuming ANSI text character.

In a native PostGIS database, it is also 64.

With KML, there is (in theory) no limitation

With enterprise geodatabase (assuming ANSI text character), the limit is 30 (Oracle) or 31(others) depending of the underlying RDBMS (see here for details)

note that (from ArcGIS help)

Database management systems have different definitions of acceptable characters for object names. Most must begin with a letter and cannot contain spaces or back slashes. Some allow special characters such as forward slashes (/), underscores (_), dollar signs ($), dashes (-), dots (.), or mixed cases. Sometimes, the DBMS allows you to use special characters or force mixed, upper-, or lowercase names if you provide the object name enclosed in double quotation marks. However, do not create any tables, feature classes, databases, users, roles, or other object names using double quotation marks if you will be using it with ArcGIS; the object will be created in the database exactly as typed, but ArcGIS will not recognize it, which means you will not be able to access it from ArcGIS.

  • Radouxju gives a solid answer. It's a pain to have to maintain multiple schema layouts for a single dataset. I think being 2018 we can finally let shapefiles go and move beyond 10 byte field names. One item radouxji did not mention is the OGC file geopackage which has no native column length restriction but that Esri has decided should have a 31 character field maximum. It's the best replacement for shapefiles. So taken all together it just seems prudent to just stick with a 30 character field name maximum for interoperability purposes. I wish it was 64 myself. – pauldzy Mar 19 '18 at 21:08
1

Is the column heading limited to 10 characters?

That is the limit for shapefiles, nothing to do with ArcMap or QGIS.

  • What about feature classes then? So, if I download a shapefile from an online source and add it to QGIS, it will still be truncated? – Ryan Stephenson Mar 1 '18 at 15:56
  • 1
    A shapefile cannot have column names larger than 10 characters, it's part of the format, it doesn't matter if they are created in QGIS, or ArcMap. It's not a case of values being truncated. – nmtoken Mar 1 '18 at 15:59

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.