1
arcpy.geometry __geo_interface__およびAsShape()関数:精度と穴の喪失
arcpyジオメトリをgeojsonとしてシリアル化しているため、後でジオメトリとして「ハイドレート」して元に戻すことができ、サイクルで2つの問題が発生しています。 問題1:精度 R0 = arcpy.SearchCursor(self.shpTest, "FID=0").next().getValue("Shape") geojson = R0.__geo_interface__ R1 = arcpy.AsShape(geojson) self.assertTrue(R0.equals(R1)) <<< THIS FAILS 文字列表現を確認すると、座標がわずかに変更されています。 geojson2 = R1.__geo_interface__ print geojson print geojson2 {'type': 'Polygon', 'coordinates': [[(442343.5516410945, 4814166.6184399202), (442772.17749834526, 4811610.7383281607), (441565.67508534156, 4811499.6131059099), (440772.50052100699, 4814184.7808806188), (442343.5516410945, 4814166.6184399202)]]} {'type': 'Polygon', 'coordinates': [[(442343.55169677734, 4814166.6185302734), (442772.17749023438, 4811610.73828125), (441565.67510986328, 4811499.6130981445), (440772.50048828125, 4814184.7808837891), (442343.55169677734, 4814166.6185302734)]]} …