回答:
あなたが見ているのは、断片のジオメトリです。@sgilliesの回答に似ていますが、チゼル形状の形状を制御するためにいくつかのバッファーパラメーターを使用します。
import json
from shapely.geometry import shape, JOIN_STYLE
eps = 0.001 # epsilon that is approx. the width of slivers, e.g. 1 mm
# Load the original polygon from GeoJSON
poly = shape(json.loads('{"type": "Polygon", "coordinates": [[[...]]]}'))
# Here's the algorithm
fx = poly.buffer(eps, 1, join_style=JOIN_STYLE.mitre).buffer(-eps, 1, join_style=JOIN_STYLE.mitre)
# Compare number of vertices in the exterior LinearRing
print(len(poly.exterior.coords)) # 136
print(len(fx.exterior.coords)) # 135
固定fx
ジオメトリの座標が1つ少ないことに注意してください。これはぶら下がりスライバーでした。また、一部の頂点は元の位置からぐるぐる回っている可能性があることに注意してくださいeps
。通常、の数分の1です。
ArcGISの統合ツール(arcpy.Integrate_management)を試すことができます。
http://resources.arcgis.com/en/help/main/10.2/index.html#//00170000002s000000
許容値のパラメーター値内の頂点の位置が変更される可能性があるため、注意してください。