[R-sig-Geo] CRS for the European Biogeographical Regions in R

Barry Rowlingson b.rowlingson at lancaster.ac.uk
Mon Feb 9 16:23:11 CET 2015


On Sun, Feb 8, 2015 at 12:54 PM, Roland Kaiser <kardinal.eros at gmail.com> wrote:
> Hi!
>
> Sorry for the confusion, I followed the link on the top the page "Note: new version is available!“.
> For some reason, this ZIP archive has a *.qpj instead of *.prj file.
>
> Of course, readOGR treats the *prj correctly, if present!


With the qpj file:

 > r = readOGR(".","BiogeoRegions2011")
OGR data source with driver: ESRI Shapefile
Source: ".", layer: "BiogeoRegions2011"
with 12 features and 5 fields
Feature type: wkbPolygon with 2 dimensions

Fails:

 > proj4string(r)
[1] NA

But if you simply rename the .qpj file as .prj then:

 > file.rename("BiogeoRegions2011.qpj","BiogeoRegions2011.prj")
[1] TRUE

Maybe...

 > r = readOGR(".","BiogeoRegions2011")
OGR data source with driver: ESRI Shapefile
Source: ".", layer: "BiogeoRegions2011"
with 12 features and 5 fields
Feature type: wkbPolygon with 2 dimensions

It all works:

 > proj4string(r)
[1] "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000
+ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs"

Is a .qpj file a projection written by QGIS for some reason?

Barry

> -Roli
>
>> Am 08.02.2015 um 12:37 schrieb Barry Rowlingson <b.rowlingson at lancaster.ac.uk>:
>>
>> On Sat, Feb 7, 2015 at 4:53 PM, Roland Kaiser <kardinal.eros at gmail.com> wrote:
>>
>>> #       the projection information is given in the *.qpj file
>>
>> I can't see a *.qpj file in that shapefile. There is a *.prj file
>> which contains projection info.
>>
>>> #       unfortunately, it is not read from the dataset by the OGR driver
>>
>> The *.prj file **is** read when using readOGR:
>>
>>> r=readOGR(".","BiogeoRegions2011")
>> OGR data source with driver: ESRI Shapefile
>> Source: ".", layer: "BiogeoRegions2011"
>> with 12 features and 4 fields
>> Feature type: wkbPolygon with 2 dimensions
>>> proj4string(r)
>> [1] "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000
>> +ellps=GRS80 +units=m +no_defs"
>>
>> - that's a full projection specification, rather than an epsg code
>> though, because that's what's in the file.
>>
>>> #       we have do define it manually by specifing argument p4s
>>
>> No we don't!
>>
>>> pg <- readOGR(dsn = "BiogeoRegions2011_shapefile",
>>>        layer = "BiogeoRegions2011", p4s = "+init=epsg:3035")
>>
>> Is the .prj file text coding the same projection as epsg:3035?
>> http://epsg.io/ says 3035 is:
>>
>> +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80
>> +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
>>
>> So yes. But there's no need to specify it in readOGR since you have
>> the .prj file. The maptools functions readShapeSpatial and friends
>> ignore the .prj file - I don't know why they exist any more!
>>
>>> r2=readShapeSpatial("BiogeoRegions2011.shp")
>>> proj4string(r2)
>> [1] NA
>>
>> Ouch.
>>
>> Barry
>



More information about the R-sig-Geo mailing list