spTransform-methods          package:rgdal          R Documentation

_M_e_t_h_o_d_s _f_o_r _F_u_n_c_t_i_o_n _s_p_T_r_a_n_s_f_o_r_m _i_n _p_a_c_k_a_g_e "_r_g_d_a_l"

_D_e_s_c_r_i_p_t_i_o_n:

     The 'spTransform' methods provide transformation between datum(s)
     and conversion between projections, from one unambiguously
     specified coordinate reference system to another, using PROJ.4
     projection arguments. For simple projection, when no +datum tags
     are used, datum projection does not occur. When datum
     transformation is required, the +datum tag should be present with
     a valid value both in the CRS of the object to be transformed, and
     in the target CRS. In general +datum= is to be prefered to
     +ellps=, because the datum always fixes the ellipsoid, but the
     ellipsoid never fixes the datum. 

     In addition, the +towgs84 tag should be used where needed to make
     sure that datum transformation does take place. Parameters for
     +towgs84 will be taken from the bundled EPSG database if they are
     known unequivocally, but may be entered manually from known
     authorities. Not providing the appropriate +datum and +towgs84
     tags may lead to coordinates being out by hundreds of metres.
     Unfortunately, there is no easy way to provide this information:
     the user has to know the correct metadata for the data being used,
     even if this can be hard to discover.

_M_e_t_h_o_d_s:



     "_A_N_Y" default void method

     "_S_p_a_t_i_a_l_P_o_i_n_t_s", _C_R_S_o_b_j = _C_R_S returns transformed coordinates of
          an "SpatialPoints" object using the projection arguments in
          "CRSobj", of class CRS

     "_S_p_a_t_i_a_l_P_o_i_n_t_s_D_a_t_a_F_r_a_m_e", _C_R_S_o_b_j = _C_R_S returns transformed
          coordinates of an "SpatialPointsDataFrame" object using the
          projection arguments in "CRSobj", of class CRS

     "_S_p_a_t_i_a_l_L_i_n_e_s", _C_R_S_o_b_j = _C_R_S returns transformed coordinates of an
          "SpatialLines" object using the projection arguments in
          "CRSobj", of class CRS

     "_S_p_a_t_i_a_l_L_i_n_e_s_D_a_t_a_F_r_a_m_e", _C_R_S_o_b_j = _C_R_S returns transformed
          coordinates of an "SpatialLinesDataFrame" object using the
          projection arguments in "CRSobj", of class CRS

     "_S_p_a_t_i_a_l_P_o_l_y_g_o_n_s", _C_R_S_o_b_j = _C_R_S returns transformed coordinates of
          an "SpatialPolygons" object using the projection arguments in
          "CRSobj", of class CRS

     "_S_p_a_t_i_a_l_P_o_l_y_g_o_n_s_D_a_t_a_F_r_a_m_e", _C_R_S_o_b_j = _C_R_S returns transformed
          coordinates of an "SpatialPolygonsDataFrame" object using the
          projection arguments in "CRSobj", of class CRS


_N_o_t_e:

     The projection arguments must be entered exactly as in the PROJ.4
     documentation, in particular there cannot be any white space in
     +<arg>=<value> strings, and successive such strings can only be
     separated by blanks. Note that warnings about different
     projections may be issued when the PROJ.4 library extends
     projection arguments; examine the warning to see if the
     differences are real.

_A_u_t_h_o_r(_s):

     Roger Bivand Roger.Bivand@nhh.no

_E_x_a_m_p_l_e_s:

     data(state)
     states <- data.frame(state.x77, state.center)
     states <- states[states$x > -121,]
     coordinates(states) <- c("x", "y")
     proj4string(states) <- CRS("+proj=longlat +ellps=clrk66")
     summary(states)
     state.ll83 <- spTransform(states, CRS("+proj=longlat +ellps=GRS80"))
     summary(state.ll83)
     state.merc <- spTransform(states, CRS=CRS("+proj=merc +ellps=GRS80"))
     summary(state.merc)
     state.merc <- spTransform(states, CRS=CRS("+proj=merc +ellps=GRS80 +units=us-mi"))
     summary(state.merc)
     if (projNAD()) {
     states <- data.frame(state.x77, state.center)
     states <- states[states$x > -121,]
     coordinates(states) <- c("x", "y")
     proj4string(states) <- CRS("+init=epsg:4267")
     print(summary(states))
     state.ll83 <- spTransform(states, CRS("+init=epsg:4269"))
     print(summary(state.ll83))
     state.kansasSlcc <- spTransform(states, CRS=CRS("+init=epsg:26978"))
     print(summary(state.kansasSlcc))
     SFpoint_NAD83 <- SpatialPoints(matrix(c(-103.869667, 44.461676), nrow=1),
      proj4string=CRS("+init=epsg:4269"))
     SFpoint_NAD27 <- spTransform(SFpoint_NAD83, CRS("+init=epsg:4267"))
     print(all.equal(coordinates(SFpoint_NAD83), coordinates(SFpoint_NAD27)))
     print(coordinates(SFpoint_NAD27), digits=12)
     print(coordinates(SFpoint_NAD83), digits=12)
     }
     data(meuse)
     coordinates(meuse) <- c("x", "y")
     proj4string(meuse) <- CRS(paste("+init=epsg:28992",
      "+towgs84=565.237,50.0087,465.658,-0.406857,0.350733,-1.87035,4.0812"))
     # see http://trac.osgeo.org/gdal/ticket/1987
     summary(meuse)
     meuse.utm <- spTransform(meuse, CRS("+proj=utm +zone=32 +datum=WGS84"))
     summary(meuse.utm)
     cbind(coordinates(meuse), coordinates(meuse.utm))
     kiritimati_primary_roads <- readOGR(system.file("vectors", package = "rgdal")[1], "kiritimati_primary_roads")
     kiritimati_primary_roads_ll <- spTransform(kiritimati_primary_roads, CRS("+proj=longlat +datum=WGS84"))
     opar <- par(mfrow=c(1,2))
     plot(kiritimati_primary_roads, axes=TRUE)
     plot(kiritimati_primary_roads_ll, axes=TRUE, las=1)
     par(opar)
     opar <- par(mfrow=c(1,2))
     scot_BNG <- readOGR(system.file("vectors", package = "rgdal")[1],
        "scot_BNG")
     scot_LL <- spTransform(scot_BNG, CRS("+proj=longlat +datum=WGS84"))
     plot(scot_LL, axes=TRUE)
     grd_LL <- gridlines(scot_LL, ndiscr=100)
     summary(grd_LL)
     grd_BNG <- spTransform(grd_LL, CRS(proj4string(scot_BNG)))
     grdtxt_LL <- gridat(scot_LL)
     grdtxt_BNG <- spTransform(grdtxt_LL, CRS(proj4string(scot_BNG)))
     plot(scot_BNG, axes=TRUE, las=1)
     plot(grd_BNG, add=TRUE, lty=2)
     text(coordinates(grdtxt_BNG),
        labels=parse(text=as.character(grdtxt_BNG$labels)))
     par(opar)

