接触するポリゴンを1つのポリゴンとしてまとめるとき

gisをしていると、接触するポリゴンを1つのポリゴンとしてまとめたいときがある。sfパッケージでできるのだが、どうも思ったようにはいまのところ動かないときがある。

 

例えば、geom_sfで可視化したときに、接触していないようなポリゴンが接触したと判定されたり、その逆もある。おそらく地理座標系と測地座標系のずれが原因なんだろうな。しかし、検証できてない。めんどくさい…。

 

ひとまずうまくいきそうなコードがこちら。

 

sf::st_is_within_distance(geometry, dist = 0.005),
sf::st_touches(geometry),
sf::st_intersects(geometry, dist = 1)