shapely使用筆記

2021-10-12 13:31:25 字數 1976 閱讀 2283

from shapely.geometry import multipolygon, geometrycollection, linearring

from shapely.ops import cascaded_union, nearest_points

from shapely.wkt import loads

from shapely.wkt import dumps

geometry.point
構造

point(x, y, z)
近似相等

# decimal為判斷時的小數精度

# 例如decimal = 5表示小數點後5位以下的部分都捨去然後再進行判斷

p1.almost_equals(p2, decimal)

即polyline

geometry.linestring
構造

# 用列表進行初始化

linestring(list([(1, 2), (3, 4)]))

# 擴充套件:也可以用兩個列表拼接

linestring(list(p1.coords) + list(p2.coords))

延展

# 使其有寬度,型別變為polygon

self.buffer(buffer_size, cap_style)

獲取所有點座標

# 返回座標字串

self.coords

# 轉換成列表

list(self.coords)

# 是否有效,例如長度不能為0

self.is_valid

geometry.linearring
有效

# 自相交或者面積為0都視為無效

self.is_valid

方向

# 逆時針排列

self.is_ccw

有可能是簡單多邊形框polygon,也有可能是兩個多邊形框巢狀

注意:只能是二維的

geometry.polygon
相交

# 判斷與折線相交

self.intersection(line)

# 判斷與其它面相交

self.intersection(polygon)

包含

self.cotains(line)
所有點座標

self.coords
外框點座標

self.exterior.coords
面積

self.area
shapely轉字串

geom = dumps(self.geom, rounding_precision=precision)
字串轉shapely

self.geom = loads(self.geom)
多個polygon組合在一起

構造

# 一般返回型別為面

multi_polygon = multipolygon(polygons)

求並

union_polygon = cascaded_union(multi_polygon)
尋找最近鄰點

# 返回兩個點

points = nearest_points(polygon_1, polygon_2)

Vim 使用筆記

set hlsearch set nohlsearch 搜尋後清除上次的加亮 nohl nohlsearch 拷貝 很有用的一句話,規定了格式選項,讓它換行不自動空格 set formatoptions tcrqn set fo r set noautoindent 再 shift insert 正...

xemacs使用筆記

xemacs使用筆記 xemacs emacs的下一代,由lucid原創 from debian參考手冊.由於不知道什麼時候刪掉了emacs的乙個重要檔案.每次都沒法安裝好.突然發現了xemacs,於是決定使用看看.本人還是菜鳥,僅供交流 我使用的ubuntu系統,所以就直接apt get inst...

TreeView使用筆記

treeview由節點構成,建樹通過對treeview.items屬性進行操作。items是乙個ttreenodes物件,這是乙個ttreenode集。一 針對ttreenodes,也就是 treeview.items,有這些屬性 1 count,節點個數。2 item index 通過index得...