I have a SpatialPointsDataFrame with 1057 elements and 4760 columns and want to export it to a shapefile. When I try to do this with writeOGR() I get an error:

> writeOGR(pts,dsn="/home/joana/Desktop/",layer="PT", driver="ESRI Shapefile")
Error in writeOGR(pts, dsn = "/home/joana/Desktop/", layer = "PT", driver = "ESRI Shapefile") : 
  Creating Name field failed

When I reduce the column number, everything works fine.But I really need all of the columns, is there any way to work around it?

I'm using Ubuntu 12.04/R/QGIS

  • How are your columns named? The shapefile database has some limitations on field bnames.
    – AndreJ
    Apr 15 '14 at 9:27
  • The most part of them are of this type: "X2012.12.28". But I change them in many ways with no export sucess.
    – JMarcelino
    Apr 15 '14 at 9:45
  • They get truncated after 8 characters. This may lead to identical names. Points may also be bad for column names.
    – AndreJ
    Apr 15 '14 at 10:18
  • I tried with "20121228" and it doesn't work.
    – JMarcelino
    Apr 15 '14 at 10:25
  • I think that field names must start with a character. But you hit the limited number of fields anyway.
    – AndreJ
    Apr 15 '14 at 10:40

The shapefile format has some limitations due to the underlying dbase database format.



In your case, the limit of 10 characters field name and 255 fields total is hit.

Try some other format, like spatialite.

Or think about restructuring your database. Insert a new field called date, and store the data underneath instead of side-by-side in one column per day.

  • Can you tell me how to export this object from R with spatialite?
    – JMarcelino
    Apr 15 '14 at 11:56
  • Should be the same as shapefile, but using another OGR driver. I don't have experience with R, though.
    – AndreJ
    Apr 15 '14 at 12:05

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.