[R-sig-Geo] error in readShapePoly

Roger Bivand Roger.Bivand at nhh.no
Fri May 16 09:21:54 CEST 2014


On Fri, 16 May 2014, Mahbubeh Parsaeian wrote:

> Dear all
> I have a shape file of UK. I have used it serveral times before. But now 
> when I want to use this shapefile the following error will apear.
>
>
> shp<-readShapePoly("GreaterLondon_ward")
> Error in read.shape(filen = fn, verbose = verbose, repair = repair) :
>   File size and implied file size differ, consider trying repair=TRUE
>
>
> shp<-readShapePoly("GreaterLondon_ward", repair=TRUE)
> Error in read.shape(filen = fn, verbose = verbose, repair = repair) :
>   Cannot repair file size error
>
>
> If it is possible please let me know what is the problem.

The *.shx file is damaged, and is not showing the characteristics of a 
regular bug as found in Geolytics shapefiles some ten years ago (see the 
help file). Consequently, the shapefile cannot be read at all using 
software that needs a correct or corrected *.shx to index the shapes. The 
problem is that the pointers in *.shx to the shapes in *.shp do not match, 
and may read past the end of the *.shp file; shape data read with 
non-matching pointers will not be reliable anyway.

You should get the same error using rgdal::readOGR(); note that 
maptools::readShape*() are not actively maintained and may be deprecated.

You need to re-source the shapefile, or ask your provider for a copy that 
is not damaged. It used to be possible to use the shapefiles package to 
read *.shp and *.dbf after deleting the offending *.shx; read.shp() and 
read.dbf(), but putting this input into usable form is very hard.

Hope this clarifies,

Roger

> Best
> Mahboubeh
>
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>

-- 
Roger Bivand
Department of Economics, Norwegian School of Economics,
Helleveien 30, N-5045 Bergen, Norway.
voice: +47 55 95 93 55; fax +47 55 95 91 00
e-mail: Roger.Bivand at nhh.no


More information about the R-sig-Geo mailing list