У меня есть файл формы дорожной сети и другой файл формы, содержащий границы области. Есть ли какой-нибудь лучший код, который я могу использовать для определения длины дорог внутри каждого многоугольника?
Этот вопрос задавался ранее с той разницей, что я хочу использовать R вместо QGIS.
Я попробовал:
intersec=intersect(roads,Polygon)
road_length=tapply(intersec$length, intersec$polygon, sum)
Это работает, но проблема в том, что пересечение не делит длину дорог, которые пересекают полигоны, а удваивает их в файле intersec и назначает полную длину этих дорог обоим полигонам.
Как я узнал об этой проблеме: сообщения об ошибке нет, но следующее доказательство говорит мне, что что-то не так:
a=sum(roads$length) and b=sum(intersec$length)
a и b не имеют одинаковую длину -> a меньше, чем b.