8个版本
0.1.1-alpha.7 | 2021年1月19日 |
---|---|
0.1.1-alpha.6 | 2021年1月11日 |
0.1.1-alpha.4 | 2021年1月8日 |
0.1.1-alpha.3 | 2021年1月7日 |
0.1.0 | 2021年1月4日 |
567 在 科学
每月33次下载
40KB
797 行
arc-rs
表示使用Rust实现地理处理工具的Python薄包装。地理处理工具在地理空间数据上执行特定任务。这些工具可以集成到复杂的地理空间工作流程中。这些工作流程通常由地理空间分析师在“模型优先”环境中设计。
可以使用Python实现自定义地理处理工具。但是,需要使用稳定的运行时环境、库和框架来实施高级地理空间分析。作为工程师,我不希望错过以下功能:
- 高效代码生成(编译器伙伴)
- 快速失败(编译器说:“不!”)
- 只为你使用的付费(#YAGNI)
如今,最佳选择似乎是Rust。
功能
- 使用Rust创建自定义地理处理工具
pub trait GpTool {
fn label(&self) -> &str;
fn description(&self) -> &str;
fn parameters(&self) -> Vec<GpParameter>;
fn execute(&self, py: Python, parameters: Vec<PyParameterValue>, messages: PyGpMessages) -> PyResult<()>;
}
- 使用Rust执行任何已注册的地理处理工具
let pyresult = gp::tools::execute_tool(py, "arcpy", "ListFeatureClasses", ())?;
let results_as_text = pyresult.as_vecstr();
for result_as_text in results_as_text {
messages.add_message(&result_as_text)?;
}
说明
使用cargo build release构建源代码。有一个使用提供的Rust实现的自定义地理处理工具的Python工具箱示例。
需求
- Rust v1.44.1
- pyo3 v0.12.3
运行时需求
- Windows 10上的ArcGIS Pro v2.6或更高版本
资源
依赖项
~2.5MB
~46K SLoC