Чтобы удалить повторяющиеся списки из списка, в Python есть несколько хороших способов - например, :
a = [[ 9.1514622, 47.1166004 ], [ 9.1513045, 47.1164599 ], [ 9.1516278, 47.1163001 ], [ 9.1517832, 47.1164408 ], [ 9.1514622, 47.1166004 ] ]
print len(a) # 5
b_set = set(map(tuple,a))
b = map(list,b_set)
print len(b) # 4
Но, к сожалению, мне пришлось преобразовать свой список в объект Shapely Polygon. , в котором мне нужно упростить геометрию и выполнить некоторые другие гео-функции.
from shapely.geometry import Polygon
a = [[[ 9.1514622, 47.1166004 ], [ 9.1513045, 47.1164599 ], [ 9.1516278, 47.1163001 ], [ 9.1517832, 47.1164408 ], [ 9.1514622, 47.1166004 ] ] ]
polys = [Polygon(item) for item in a] # convert list to polygon
print len(polys) # prints 5
В этом ответе показано, как удалить повторяющийся многоугольник из списка многоугольников, но как удалить повторяющуюся точку из списка точек, как стройный многоугольник?
Я предполагаю, что можно преобразовать его обратно в список, удалить дубликаты, а затем повторно преобразовать в многоугольник.
Но это кажется слишком сложным. Есть идеи, как это сделать?