Selection / subset of spatial data in R

I am working on a large dataset with spatial data (lat / long). My dataset contains some provisions that I do not need in my analysis (this makes the files difficult to process in ArcMap-many Go data).

That is why I want to multiply the relevant data for my work. Here is an example of my data:

lat        long
59.979687  29.706236
60.136177  28.148186
59.331383  22.376234
57.699154  11.667305
54.90566   17.768538
57.122417  8.59762
55.8108    10.820534
57.86072   22.616697
59.912144  30.24504

The data that I have applies to all areas indicated on the next map. I would like to work only on the Baltic Sea, therefore (almost) only with points to the left of this dark line. map

Has anyone heard of the package or have some ideas on how to deal with this?

Another solution would be to draw a polygon around the Baltic Sea and select only the points in that polygon.
+4
1

, "", : " "

# your sample data

pts <- read.table(text="lat        long
59.979687  29.706236
60.136177  28.148186
59.331383  22.376234
57.699154  11.667305
54.90566   17.768538
57.122417  8.59762
55.8108    10.820534
57.86072   22.616697
59.912144  30.24504", header=TRUE)

library(ggplot2)
library(sp)
library(rgdal)

# a rough baltic polygon that I deliberately made to exclude one point

baltic <- data.frame(lat=c(69.91, 57.98, 51.0, 60, 69.91),
                     long=c(23.07, 7.05, 12.0, 30, 23.07))

# only doing this to show the points, you can filter out in similar fashion

pts$is_in <- factor(point.in.polygon(pts$long, pts$lat, baltic$long, baltic$lat))

# I made an _extremely_ oversimplified map of europe for speedy plotting
europe <- readOGR("http://rud.is/dl/simple_europe.geojson", "OGRGeoJSON")
europe_map <- fortify(europe)


# plot to show it works
gg <- ggplot()
gg <- gg + geom_map(map=europe_map, data=europe_map,
                    aes(x=long, y=lat, map_id=id),
                    fill="white", color="black", size=0.25)
gg <- gg + geom_point(data=pts, aes(x=long, y=lat, color=is_in))
gg <- gg + geom_path(data=baltic, (aes(x=long, y=lat)), linetype=2)

# lambert isn't a bad projection for the region
gg <- gg + coord_map("lambert", lat0=50, lat1=70, xlim=c(5,31), ylim=c(50, 70))
gg

enter image description here

, , , . , , "" .

+1

All Articles