Arcpy Geometryオブジェクトは真の曲線をサポートしていませんが、10.3では、EsriはREST APIに真の曲線を実装していたため、FeatureSetでそれらのJSONサポートを実装する必要がありました。したがって、JSON構造でカーブを作成する場合は、arcpyを「だまして」これを実行させることができます。
次に例を示します。次のような真の曲線(円弧とベジェ曲線を使用)を含むJSONファイルを作成します。
{ 'fieldAliases': {
'Id': 'Id',
'FID': 'FID'
},
'fields': [{
'alias': 'FID',
'type': 'esriFieldTypeOID',
'name': 'FID'
}, {
'alias': 'Id',
'type': 'esriFieldTypeInteger',
'name': 'Id'
}],
'displayFieldName': '',
'spatialReference': {
'wkid': 103734,
'latestWkid': 103734
},
'geometryType': 'esriGeometryPolyline'
'features': [{
'geometry': {
"curvePaths":[[
[6,3],[5,3],
{"b":[[3,2],[6,1],[2,4]]},
[1,2],
{"a":[[0,2],[0,3],0,0,2.094395102393195,1.83,0.33333333]}
]]
},
'attributes': {
'Id': 0,
'FID': 0
}
}],
}
次に、それを機能セットにロードして、Featureクラスに保存します。
fs = arcpy.FeatureSet()
fs.load(r'C:\path_to_your_json_file.json')
arcpy.management.CopyFeatures(fs, r'in_memory\test_curve')
そしてブーム、あなたは本当のカーブを持っています!これは、ArcMapで作成したものです。
したがって、あなたのケースでは、元の機能を機能セットにキャストしてJSONを再生するか、検索カーソルの行を繰り返して、json構造を構築できます。数学はあなたが望むものを得るには少し難しいかもしれませんが、確かに実行可能です。
また、完全な機能セットを形成する必要はなく、JSONジオメトリをに直接渡してarcpy.AsShape(geojson, True)
、ジオメトリオブジェクトを取得することもできます。