空間ポリゴンと空間ラインが交差するかどうかを迅速に判断する必要があります。現在、ポリゴンを空間線に変換して使用してgIntersection()
います。より迅速な方法を提案できる人はいますか? おそらく、空間線などの代わりにラスターを使用しています。これを何千回も行う必要があります。
# .shp file to Spatial Line
polygon1 <- readShapeSpatial("C:.../SALandmass.shp")
polygon1filled <- SpatialPolygons(list(Polygons(list(polygon1@polygons[[1]]@Polygons[[1]]),ID=1)))
SL <- as(polygon1filled, "SpatialLines")
# Test if line between two coordinates cross the shape
Pt1 = list(x = c(CurrentLong, MapCoordsm$x[i]), y = c(CurrentLat, MapCoordsm$y[i]))
SpatialLine1 = SpatialLines(list(Lines(Line(cbind(Pt1$x,Pt1$y)), "L1")))
cross <- length(gIntersection(SpatialLine1, SL))