Я пытаюсь измерить историческую длину границ между странами с 1945 по 2016 год, используя пакет CShapes для ГИС.
Источник: CShapes для ГИС
Чтобы получить длины, я открываю файл формы с помощью QGIS и добавляю виртуальный слой со следующим запросом SQL:
SELECT u11.*, u12.CNTRY_NAME || ', len:' || st_length(st_intersection(u11.geometry, u12.geometry)) AS "neighbor_info"
FROM "cshapes" AS u11, "cshapes" AS u12
WHERE st_intersects(u11.geometry, u12.geometry) AND u11.CNTRY_NAME <> u12.CNTRY_NAME
ORDER BY u11.CNTRY_NAME ASC
Однако длина некоторых общих границ между полигонами в конечном итоге равна нулю. Например, длина границы между Швейцарией и ее соседями, такими как Италия и Германия, неверна.
Италия, длина: 0,0
Федеральная Республика Германия c, длина: 0,0
Лихтенштейн, длина: 0,0