Tdebeus
Tdebeus

Reputation: 1599

Set the right crs on sf object to plot coordinate points

I'm trying to define the right CRS for my sf object. I want to plot points atop the following layer (country: the Netherlands):

Simple feature collection with 380 features and 3 fields
geometry type:  MULTIPOLYGON
dimension:      XY
bbox:           xmin: 13565.4 ymin: 306846.2 xmax: 278026.1 ymax: 619232.6
epsg (SRID):    NA
proj4string:    +proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs

output:

enter image description here

This layer has the correct projection.

But the POINT layer doesn't have the correct CRS project presumably because it has no proj4string?

Simple feature collection with 566 features and 5 fields
geometry type:  POINT
dimension:      XY
bbox:           xmin: 3.5837 ymin: 50.86487 xmax: 7.120998 ymax: 53.44835
epsg (SRID):    NA
proj4string:    NA

enter image description here

How do I set the same projection as the previous map so I can plot the coordinates points on it?

Upvotes: 21

Views: 36147

Answers (2)

sebdalgarno
sebdalgarno

Reputation: 3197

In addition, there is the function st_set_crs(), which can be used in a pipe. For example,

points %>% st_set_crs(st_crs(polygons))

Upvotes: 28

loki
loki

Reputation: 10350

You can use st_crs.

As it says in the examples:

st_crs(x) <- value 

In your case it would probably be

st_crs(points) <- st_crs(polygons)

Note: the points should be registered in the same coordinate system, of course. If not, you would have to find out the correct coordinate system for them and then use st_transform to put them into the same coordinate system as the polygons.

Upvotes: 13

Related Questions