[R-sig-Geo] [OT] Coordinates and pojection problems

Roger Bivand Roger.Bivand at nhh.no
Thu Jun 19 14:20:23 CEST 2008


On Thu, 19 Jun 2008, Paul Hiemstra wrote:

> Hi,
> You need to find out what the projection of the shapefile is, the 
> ogrinfo does not give this information for your file as you probably do 
> not have the .prj file. The R function spTransform needs the projection 
> info in a so called proj4string. The easiest way to define such a string 
> is through the epsg code, this code enables proj (the projection library 
> used in R) to find the parameter it needs. For example, the proj4string 
> for the Dutch national projection is:
>
> "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 
> +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m 
> +towgs84=565.04,49.91,465.84,-0.409394387,0.35970519561,-1.868491,4.0772 
> +no_defs"
>
> using epsg codes:
>
> "+init=epsg:28992"
>
> The bottomline is to find the projection of your second shapefile as 
> this is the most likely candidate to cause the difference. A good place 
> to ask questions regarding projections is the proj4-mailing list 
> (http://lists.maptools.org/mailman/listinfo/proj).

Right. In addition, do some digging into the history of coordinate 
reference systems for your country of interest, for example:

http://www.asprs.org/resources/grids/

has France on January 2001. I think that you may be in Nouvelle 
Triangulation Française, which has a Paris meridian:

EPSG <- make_EPSG()
EPSG[grep("NTF", EPSG$note), 1:2]

But that is guesswork. For enthusiasts, once you have a guess, use 
spTransform to geographical coordinates (CRS("+longlat +datum=WGS84")), 
and do writeOGR(obj, "obj.kml", "obj", driver="KML") of (a subset of) your 
object and see where it lands in Google Earth.

Roger

>
> hth and cheers,
> Paul
>
> Julien Barnier wrote:
>> Hi,
>>
>> I'm sorry to post a rather off-topic question here, but as a new sp
>> user and total novice in coordinates and projections questions, I'm
>> facing a problem you may help me to solve. Please ignore this post if
>> it is too much noise.
>>
>> I've got two map files (a MapInfo file and an ESRI shapefile) from two
>> different sources but which represent objects from the same french
>> region (one represent the cities, the other rivers and water
>> surfaces). 
>>
>> The problem is that when imported into R and plotted together, they
>> doesn't appear in the same place.  They seem to have the same
>> «longitude», but the «latitude» is different. If I plot them, the
>> first map ranges in the Y axis from 70,000 to 100,000 and the second
>> one from 2,060,000 to 2,140,000. The ranges along the x axis seem to
>> be the same, though.
>>
>> Here is the output of ogrinfo on the two files :
>>
>> ,----
>> | $ ogrinfo -so 69_iris.mid 69_iris
>> | Had to open data source read-only.
>> | INFO: Open of `69_iris.mid'
>> |       using driver `MapInfo File' successful.
>> | 
>> | Layer name: 69_iris
>> | Geometry: Unknown (any)
>> | Feature Count: 774
>> | Extent: (747910.000000, 2053380.000000) - (819740.000000,
>> | 2147622.300000)
>> | Layer SRS WKT:
>> | PROJCS[«unnamed»,
>> |     GEOGCS[«unnamed»,
>> |         DATUM[«MIF 9999,6,-168,-60,320,0,0,0,0,0»,
>> |             SPHEROID[«Clarke 1880»,6378249.145,293.465],
>> |             TOWGS84[-168,-60,320,-0,-0,-0,0]],
>> |         PRIMEM[«non-Greenwich»,0],
>> |         UNIT[«degree»,0.0174532925199433]],
>> |     PROJECTION[«Lambert_Conformal_Conic_2SP»],
>> |     PARAMETER[«standard_parallel_1»,45.90287723937],
>> |     PARAMETER[«standard_parallel_2»,47.69712276063],
>> |     PARAMETER[«latitude_of_origin»,46.8],
>> |     PARAMETER[«central_meridian»,2.337229104484],
>> |     PARAMETER[«false_easting»,600000],
>> |     PARAMETER[«false_northing»,2200000],
>> |     UNIT[«Meter»,1]]
>> | DepCom: String (5.0)
>> | Nom_Com: String (40.0)
>> | Iris: String (4.0)
>> | DComIris: String (9.0)
>> | Nom_Iris: String (43.0)
>> | Typ_Iris: String (1.0)
>> | Indic: String (1.0)
>> | Origine: String (1.0)
>> `----
>>
>> ,----
>> | $ ogrinfo -so Decoupage_Administratif/SURFDEAU.shp SURFDEAU
>> | INFO: Open of `Decoupage_Administratif/SURFDEAU.shp'
>> |       using driver `ESRI Shapefile' successful.
>> | 
>> | Layer name: SURFDEAU
>> | Geometry: Polygon
>> | Feature Count: 168
>> | Extent: (785619.190000, 68133.620000) - (818193.410000, 107443.340000)
>> | Layer SRS WKT:
>> | (unknown)
>> | NUMOBJ: String (11.0)
>> `----
>>
>> I've tried to play with some parameters in readShapePoly and
>> spTransform, but without success.
>>
>> Any help would be greatly appreciated.
>>
>> Thanks in advance,
>> 
>
>
>

-- 
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no


More information about the R-sig-Geo mailing list