如果你有一个纬度和经度的多边形集,如何应用K-means聚类



我得到了一些几何坐标。

例如POLYGON

例如,我去把每一对都转换成经纬度版本的

POLYGON=[(1.1603180714482149103.91293638389025(,(1.1603088486414466103.912935217908

通常对于k意味着聚类

据我所知,一个多边形集代表一栋建筑。那么,我如何转换一组多边形,它有几对lat&lon变成一个单独的lat-lon来代表建筑?

如果使用shapely,则可以将多边形转换为相应的X矩阵,如下所示:

import numpy as np
from shapely.geometry import Polygon
polygon = Polygon([
(1.1603180714482149, 103.9129638389025),
(1.160308848641466, 103.912935217908),
(1.1602761166689228, 103.91294562159307),
(1.1602853394755797, 103.91297424258724),
(1.1603180714482149, 103.9129638389025)
])
X = np.vstack(polygon.exterior.xy).T
print(X)

结果:

[[  1.16031807 103.91296384]
[  1.16030885 103.91293522]
[  1.16027612 103.91294562]
[  1.16028534 103.91297424]
[  1.16031807 103.91296384]]

这是sklearn的KMean的正确格式。

最新更新