地理处理流程与模型构建器
Geoprocessing workflows & model builders
Run vector/raster analyses, alone or as visual models, to a correct output layer.
20 条本项目编写的提案 · 分类 v1.1 · 新增基准运行 0 次。下方验证方式与部分得分规则是设计,不是执行结果。
- 典型应用
- QGIS Processing · ArcGIS ModelBuilder · GDAL
- 小类 GUI 需求标签
HY· 混合
任务提案 · 20
展开查看完整原文与建议检查方式;两种界面均保留提案英文原文。
R07.06.01.03-T01 Count residential parcels within 500 m of schools per district
原始指令
In QGIS with fixtures/city.gpkg (layers schools, parcels, districts; EPSG:3857 input), reproject to EPSG:32610, buffer schools by 500 m (dissolved), select parcels with landuse='RES' whose centroid falls in the buffer, and write out/res_near_schools.csv with district_id and count, sorted by district_id.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- QGIS Processing · GeoPandas
- 交互表面
desk· 桌面 GUIterm· 终端- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击code· 代码与命令- 工作产物
WP02· 记录 / 表格- 条件
- 未声明
- 提案难度
- 2 / 5
建议验证方式
CSV rows equal grader recompute (counts exact per district) using metric CRS; a common error (buffering in EPSG:3857 metres) yields different counts and fails.
建议部分得分
25% correct CRS; 25% buffer/selection; 50% counts per district
R07.06.01.03-T02 Compute slope zonal statistics per watershed into a GeoPackage
原始指令
From input/dem_10m.tif (EPSG:25833) compute slope in degrees, then zonal mean, max and std of slope per polygon in input/watersheds.gpkg, writing out/watershed_slope.gpkg with fields ws_id, slope_mean, slope_max, slope_std.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- QGIS Processing · GDAL
- 交互表面
desk· 桌面 GUIterm· 终端- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击code· 代码与命令- 工作产物
WP04· 三维 / 空间模型- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Per watershed values within 0.5° (mean/std) and 1° (max) of grader's gdaldem+rasterstats; geometry and ws_id preserved; degrees not percent.
建议部分得分
30% slope raster in degrees; 50% zonal values; 20% output schema
R07.06.01.03-T03 Reproject and clip a land-cover raster to a county and tabulate class areas
原始指令
With GDAL CLI only, reproject input/landcover_conus.tif (Albers, 30 m, categorical) to EPSG:26915 with nearest-neighbour at 30 m, clip to the county polygon in input/county.gpkg (cutline, crop to cutline), and write out/lc_county.tif and out/class_area_ha.csv.
- 平台
lin· Linuxmac· macOSwin· Windows- 应用
- GDAL
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP02· 记录 / 表格- 条件
- 未声明
- 提案难度
- 2 / 5
建议验证方式
Raster CRS 26915, 30 m, nearest (no new class values); extent within one pixel of cutline bbox; class areas within 0.5% of reference.
建议部分得分
25% reprojection; 25% clip; 50% class areas
R07.06.01.03-T04 Build a ModelBuilder tool that clips and merges every feature class in a GDB
原始指令
In ArcGIS Pro ModelBuilder create model 'ClipMergeAll' in fixtures/tools.atbx: iterate feature classes in an input geodatabase (parameter), clip each to a clip-boundary parameter, collect values, and merge into one output feature class (parameter), adding the source name field. Run it on fixtures/regions.gdb with input/study_area.shp.
- 平台
win· Windows- 应用
- ArcGIS ModelBuilder
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
G2· GUI 必要- GUI 需求 · 普通权限
G2· GUI 必要- 交互原语
drag· 拖放click· 指向与点击type· 文字与表单- 工作产物
WP06· 代码 / 工程- 条件
licensed· 授权专业软件- 提案难度
- 3 / 5
建议验证方式
Parse model XML in .atbx: Iterate Feature Classes → Clip → Collect Values → Merge chain; 3 model parameters; grader reruns tool on a hidden GDB and compares output (feature count, area within 0.1%, source field). ArcGIS Pro Python window, Notebooks and ArcPy are disabled for the agent, and Python script tools in the .atbx are rejected.
建议部分得分
35% model structure; 20% parameters; 30% hidden rerun matches; 15% source field
R07.06.01.03-T05 Create a QGIS Graphical Modeler model with a parameterized buffer
原始指令
In QGIS Graphical Modeler create model 'flood_exposure' with inputs rivers (line) and buildings (polygon) and numeric parameter buffer_m (default 100). It buffers rivers, extracts intersecting buildings and outputs them plus a count. Save out/flood_exposure.model3 and run it with buffer_m=250 on fixtures/town.gpkg.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- QGIS Processing
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
G2· GUI 必要- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
drag· 拖放click· 指向与点击type· 文字与表单- 工作产物
WP06· 代码 / 工程- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Parse .model3: 2 layer inputs + numeric param wired to buffer distance; algorithms native:buffer and native:extractbylocation; grader runs model via qgis_process with hidden inputs and buffer values: outputs match reference. QGIS Python console, Processing script editor and qgis_process are disabled for the agent; a .model3 written by any process other than QGIS is flagged by a file audit log.
建议部分得分
35% model graph; 20% parameter wiring; 30% hidden reruns; 15% run with 250
R07.06.01.03-T06 Add preconditions so a ModelBuilder model skips empty inputs
原始指令
fixtures/tools.atbx/ProcessParcels fails when an input feature class in the iteration is empty. Add Get Count and a Calculate Value/If-Then logic so empty inputs are skipped (preconditions), log skipped names to an output table, and keep all other outputs unchanged. Run on fixtures/county_parts.gdb (3 of 14 are empty).
- 平台
win· Windows- 应用
- ArcGIS ModelBuilder
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
G2· GUI 必要- GUI 需求 · 普通权限
G2· GUI 必要- 交互原语
drag· 拖放click· 指向与点击type· 文字与表单- 工作产物
WP06· 代码 / 工程- 条件
licensed· 授权专业软件- 提案难度
- 4 / 5
建议验证方式
Model XML has Get Count + If logic with preconditions on downstream tools; run completes without error; output equals reference on 11 non-empty; log table lists the 3 empty names. ArcGIS Pro Python window, Notebooks and ArcPy are disabled for the agent, and Python script tools in the .atbx are rejected.
建议部分得分
35% logic structure; 25% runs without error; 25% outputs correct; 15% skip log
R07.06.01.03-T07 Run a weighted-overlay site suitability analysis and rank parcels
原始指令
For a solar farm siting study, combine slope (<5°=10 … >15°=0), distance to substations (fuzzy linear 0-5 km), land cover suitability table input/lc_scores.csv and exclusion mask input/protected.gpkg, with weights 0.4/0.35/0.25. Output out/suitability.tif (0-10) and out/top5_parcels.csv of parcels ≥20 ha with highest mean score.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- QGIS Processing · GDAL
- 交互表面
desk· 桌面 GUIterm· 终端- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击code· 代码与命令- 工作产物
WP04· 三维 / 空间模型- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
Suitability raster vs reference: mean abs diff ≤0.2 and exclusion pixels 0; top5 parcel IDs equal reference (order-insensitive, ≥4/5 for partial).
建议部分得分
30% slope & distance scoring; 30% land cover & exclusion; 40% top-5 parcels
R07.06.01.03-T08 Spatially join a million GPS points to census tracts and compute rates
原始指令
With GeoPandas (or DuckDB spatial), join input/trips_2026_09.parquet (1.2M pickup points, WGS84) to input/tracts.gpkg, compute pickups per 1,000 residents per tract, and write out/tract_rates.csv (GEOID, pickups, rate) for tracts with pop > 0. The run must finish under 5 minutes.
- 平台
lin· Linuxmac· macOSwin· Windows- 应用
- GeoPandas
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP02· 记录 / 表格- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
Counts per GEOID exact; rates within 0.01; runtime ≤300 s on grader box; boundary points handled by 'within' (documented ties).
建议部分得分
60% counts exact; 25% rates; 15% runtime
R07.06.01.03-T09 Build 10-minute walking isochrones from clinics and count population covered
原始指令
Using fixtures/roads.gpkg (walkable network, 4.8 km/h) and fixtures/clinics.gpkg in QGIS, compute 10-minute service areas from each clinic (QGIS Network Analysis or ORS Tools offline backend), dissolve, and compute population covered from input/pop_100m.tif. Write out/isochrones.gpkg and out/coverage.json (covered, total, pct).
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- QGIS Processing
- 交互表面
desk· 桌面 GUIterm· 终端- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击code· 代码与命令- 工作产物
WP04· 三维 / 空间模型- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
Isochrone polygon IoU with reference ≥0.85 (same concave-hull method allowed tolerance); covered population within 3%; non-walkable roads excluded.
建议部分得分
20% network setup; 40% isochrone IoU; 40% coverage numbers
R07.06.01.03-T10 Run a hot-spot analysis on incidents aggregated to a hexagon grid
原始指令
In ArcGIS Pro aggregate input/incidents_2025.csv (XY in EPSG:4326) to 250 m hexagons over fixtures/city.gdb/Boundary, then run Hot Spot Analysis (Getis-Ord Gi*) with fixed distance band 750 m and FDR correction. Save out/hotspots.gdb/hex_gi and write count of 99%-confidence hot hexes to out/summary.txt.
- 平台
win· Windows- 应用
- ArcGIS Pro
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击type· 文字与表单code· 代码与命令- 工作产物
WP04· 三维 / 空间模型- 条件
licensed· 授权专业软件- 提案难度
- 3 / 5
建议验证方式
Hex grid 250 m covering boundary; counts per hex exact; Gi_Bin values match reference ≥98% of hexes; summary count exact.
建议部分得分
25% hex aggregation; 50% Gi* bins; 25% summary
R07.06.01.03-T11 Build a cloud-masked NDVI median composite from five Sentinel-2 dates
原始指令
From input/s2/ (five L2A scenes, bands B04, B08, SCL at 10/20 m) compute NDVI per date, mask SCL classes 3, 8, 9, 10, 11 (resampled nearest to 10 m), take the per-pixel median over valid dates, and write out/ndvi_median.tif (float32, nodata -9999) plus a valid-count raster.
- 平台
lin· Linuxmac· macOSwin· Windows- 应用
- GDAL · rasterio
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP04· 三维 / 空间模型- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
Pixel-wise comparison with reference: ≥99% pixels within 0.01; nodata where valid count 0; count raster exact; correct scale/offset of L2A reflectance applied.
建议部分得分
20% NDVI per date; 25% SCL mask; 40% median composite; 15% count raster
R07.06.01.03-T12 Delineate a watershed and stream network from a DEM for a gauge outlet
原始指令
From input/dem_25m.tif, fill sinks, compute D8 flow direction and accumulation, extract streams with contributing area ≥1 km², snap the gauge point input/gauge.gpkg to the highest-accumulation cell within 100 m, and delineate its watershed. Output out/streams.gpkg, out/watershed.gpkg and area km² in out/ws.json.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- QGIS Processing · GRASS GIS
- 交互表面
desk· 桌面 GUIterm· 终端- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击code· 代码与命令- 工作产物
WP04· 三维 / 空间模型- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
Watershed IoU ≥0.95 vs reference; area within 2%; stream network buffer-F1 ≥0.9; snapped outlet within 25 m of reference outlet.
建议部分得分
20% conditioning/flow; 25% streams; 15% snapping; 40% watershed & area
R07.06.01.03-T13 Compute the combined viewshed of three proposed turbines over a protected area
原始指令
In ArcGIS Pro, from input/dsm_5m.tif and three turbine points (hub 120 m, observer offset 120 m, target 1.7 m) compute a cumulative viewshed (0-3 visible turbines). Report the area (ha) of fixtures/park.gdb/Protected from which at least one turbine is visible in out/viewshed.json and save the raster.
- 平台
win· Windows- 应用
- ArcGIS Pro
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击type· 文字与表单- 工作产物
WP04· 三维 / 空间模型- 条件
licensed· 授权专业软件- 提案难度
- 3 / 5
建议验证方式
Viewshed raster matches reference ≥97% of cells; visible area within 3%; offsets applied correctly (a run without offsets differs by >30%).
建议部分得分
30% offsets configured; 40% viewshed raster; 30% area answer
R07.06.01.03-T14 Find the nearest hospital for every village with a KNN query in PostGIS
原始指令
Load input/villages.gpkg and input/hospitals.gpkg into the provided PostGIS database (docker compose up), and write SQL that returns for each village the nearest hospital id and great-circle distance (km) using a KNN index (<-> operator). Save the query in out/nearest.sql and results in out/nearest.csv.
- 平台
lin· Linuxmac· macOS- 应用
- PostGIS · GDAL
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP02· 记录 / 表格- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
nearest.csv: hospital ids exact for all villages; distances within 0.1 km (geography); EXPLAIN shows index scan with KNN.
建议部分得分
20% data loaded; 50% correct nearest ids; 20% distances; 10% KNN index used
R07.06.01.03-T15 Batch-clean twelve municipal layers with a looping Graphical Modeler model
原始指令
Build QGIS model 'clean_muni.model3' that fixes geometries, reprojects to EPSG:2154, dissolves by insee_code and exports with the input file name to an output folder, then run it in batch mode over the 12 shapefiles in input/muni/ writing out/clean/*.gpkg.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- QGIS Processing
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
G2· GUI 必要- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
drag· 拖放click· 指向与点击type· 文字与表单- 工作产物
WP09· 文件与文件夹- 条件
- 未声明
- 提案难度
- 4 / 5
建议验证方式
Model graph has fixgeometries → reproject → dissolve → output; 12 outputs exist with CRS 2154, valid geometries, one feature per insee_code, areas within 0.01% of reference. QGIS Python console, Processing script editor and qgis_process are disabled for the agent; a .model3 written by any process other than QGIS is flagged by a file audit log.
建议部分得分
35% model graph; 30% 12 outputs; 35% outputs correct
R07.06.01.03-T16 Export a ModelBuilder model to Python and make it run standalone
原始指令
Export fixtures/tools.atbx/FloodZones to a Python script, clean it so it runs standalone with arcpy (parameterized paths via argparse, overwrite enabled, workspace set), and verify it reproduces the model's output on fixtures/test.gdb. Save out/flood_zones.py.
- 平台
win· Windows- 应用
- ArcGIS ModelBuilder · arcpy
- 交互表面
desk· 桌面 GUIterm· 终端- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
G2· GUI 必要- 交互原语
click· 指向与点击code· 代码与命令- 工作产物
WP06· 代码 / 工程- 条件
licensed· 授权专业软件- 提案难度
- 3 / 5
建议验证方式
Grader runs script with hidden paths: exit 0; output feature class equals model output (count, area within 0.01%); no hard-coded paths.
建议部分得分
20% exported; 40% standalone runs; 40% output equality
R07.06.01.03-T17 Interpolate rainfall with IDW and kriging and pick the better by cross-validation
原始指令
From 84 gauges in input/rain_2026_08.gpkg (field mm) interpolate monthly rainfall to a 1 km grid over input/region.gpkg using IDW (power 2) and ordinary kriging (spherical, fitted). Run leave-one-out cross-validation for both and write RMSE to out/cv.json; save the better surface as out/rain_best.tif.
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- QGIS Processing · GRASS GIS · SAGA
- 交互表面
desk· 桌面 GUIterm· 终端- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
click· 指向与点击code· 代码与命令- 工作产物
WP07· 仿真结果- 条件
- 未声明
- 提案难度
- 3 / 5
建议验证方式
cv.json RMSEs within 5% of grader's LOOCV; chosen method matches lower RMSE; raster grid/extent correct; values at 10 holdout points plausible within reference ±5%.
建议部分得分
25% IDW; 30% kriging fit; 30% cross-validation; 15% choice & output
R07.06.01.03-T18 Model June solstice irradiance on roofs with GRASS r.sun
原始指令
In a GRASS location EPSG:32632 import input/dsm_1m.tif, compute slope/aspect, run r.sun for day 172 (global irradiation, Linke turbidity 3.0, albedo 0.2), and report mean Wh/m²/day for each roof polygon in input/roofs.gpkg to out/roof_irr.csv.
- 平台
lin· Linuxmac· macOSwin· Windows- 应用
- GRASS GIS
- 交互表面
term· 终端- GUI 需求 · 任务设定
CL· CLI 足够- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令- 工作产物
WP07· 仿真结果- 条件
- 未声明
- 提案难度
- 2 / 5
建议验证方式
Per roof mean within 3% of grader's r.sun run with same params; all roofs present.
建议部分得分
30% r.sun parameters; 50% per-roof values; 20% output
R07.06.01.03-T19 Reallocate tract population to new districts by area-weighted and dasymetric methods
原始指令
Redistribute population from input/tracts.gpkg to proposed districts input/districts_v3.gpkg (a) by area weighting and (b) dasymetrically using residential land cover from input/lc.tif (classes 21-24 weights 0.1/0.3/0.6/0.9). Output out/district_pop.csv with both estimates and validate (b) against block-level truth input/blocks_pop.gpkg (report MAPE).
- 平台
mac· macOSwin· Windowslin· Linux- 应用
- QGIS Processing · GeoPandas
- 交互表面
desk· 桌面 GUIterm· 终端- GUI 需求 · 任务设定
HY· 混合- GUI 需求 · 普通权限
CL· CLI 足够- 交互原语
code· 代码与命令click· 指向与点击- 工作产物
WP02· 记录 / 表格- 条件
long· 长流程- 提案难度
- 5 / 5
建议验证方式
Area-weighted values within 0.5% of reference; dasymetric within 2%; totals conserved (sum equals tract total); MAPE value within 0.5 points of grader.
建议部分得分
30% area-weighted; 40% dasymetric; 10% conservation; 20% MAPE
R07.06.01.03-T20 Build an iterating ModelBuilder change-detection model over annual rasters
原始指令
In ArcGIS Pro ModelBuilder build 'ForestLoss' that iterates over annual land-cover rasters 2018-2025 in fixtures/lc.gdb, computes forest→non-forest transitions between consecutive years with Raster Calculator, tabulates area per district (Tabulate Area) and appends rows (year, district, loss_ha) to one table. Run it.
- 平台
win· Windows- 应用
- ArcGIS ModelBuilder
- 交互表面
desk· 桌面 GUI- GUI 需求 · 任务设定
G2· GUI 必要- GUI 需求 · 普通权限
G2· GUI 必要- 交互原语
drag· 拖放click· 指向与点击type· 文字与表单- 工作产物
WP06· 代码 / 工程- 条件
licensed· 授权专业软件long· 长流程- 提案难度
- 5 / 5
建议验证方式
Model XML: Iterate Rasters + previous-year handling + Raster Calculator + Tabulate Area + Append; output table 7 years × N districts, loss_ha within 0.5% of reference; ArcGIS Pro Python window, Notebooks and ArcPy are disabled for the agent, and Python script tools in the .atbx are rejected.
建议部分得分
35% model structure; 15% iteration correctness; 40% loss table values; 10% runs cleanly
已有研究映射
以下沿用研究目录中的基准与小类映射,不是逐题标注、执行记录或产品背书。