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.

See:

http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=Geoprocessing%20considerations%20for%20shapefile%20output

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

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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