Длина общих границ между полигонами = 0? - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь измерить историческую длину границ между странами с 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

...