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– AndreJ2014年04月15日 09:27:45 +00:00Commented Apr 15, 2014 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– JMarcelino2014年04月15日 09:45:58 +00:00Commented Apr 15, 2014 at 9:45
-
They get truncated after 8 characters. This may lead to identical names. Points may also be bad for column names.AndreJ– AndreJ2014年04月15日 10:18:19 +00:00Commented Apr 15, 2014 at 10:18
-
I tried with "20121228" and it doesn't work.JMarcelino– JMarcelino2014年04月15日 10:25:03 +00:00Commented Apr 15, 2014 at 10:25
-
I think that field names must start with a character. But you hit the limited number of fields anyway.AndreJ– AndreJ2014年04月15日 10:40:52 +00:00Commented Apr 15, 2014 at 10:40
1 Answer 1
The shapefile format has some limitations due to the underlying dbase database format.
See:
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– JMarcelino2014年04月15日 11:56:33 +00:00Commented Apr 15, 2014 at 11:56
-
Should be the same as shapefile, but using another OGR driver. I don't have experience with R, though.AndreJ– AndreJ2014年04月15日 12:05:34 +00:00Commented Apr 15, 2014 at 12:05