GeoAI Workbench Instructions
Scope
These instructions apply to the entire repository at E:\AllWorkProject\geoai-workbench.
Read PROJECT_CONTEXT.md before planning or changing a capability.
Project Definition
- In this repository, GeoAI means workflows based on
opengeos/geoai (geoai-py), not every spatial-intelligence feature.
- Keep the capability boundary explicit:
- A: directly provided or documented by
geoai-py.
- B: built with
geoai-py plus geospatial or AI ecosystem libraries.
- C: a product/service capability that consumes GeoAI outputs.
- Verify current APIs against the installed package, source, or official documentation. Do not label B or C work as a built-in GeoAI function.
- Treat the user as a beginner who supplies goals, sample data, and visual feedback. Explain decisions in clear Chinese and handle implementation, environment work, debugging, and verification end to end.
Repository Conventions
- Keep one capability in
capabilities/<number>-<name>/.
- Every capability must have a
README.md and requirements.txt; add code, tests, configs, and examples only when needed.
- Share compatible dependencies through
requirements/base.txt. Use .venvs/<capability> for isolated environments when needed.
- Use Python 3.12 for GeoAI and deep-learning capabilities. Do not install project dependencies into system Python.
- Store reusable code in
src/geoai_common/ only after it is genuinely shared.
- Keep raw data, processed data, weights, caches, and generated outputs out of Git and under the existing
shared/ layout.
Capability Workflow
- Read the root documentation,
PROJECT_CONTEXT.md, and the target capability README.
- Classify the capability as A, B, or C and identify the exact role of
geoai-py.
- Define a runnable Demo with real input, inspectable output, structured metadata, and measurable acceptance criteria.
- Inspect hardware and existing environments before installing dependencies. Default to CPU because no NVIDIA CUDA is available.
- Validate one normal and one difficult representative sample before running a full directory.
- Visually inspect generated images, maps, documents, or spreadsheets.
- Record model, package, dataset, and weight licenses independently before suggesting commercial use.
- Update the capability README and
PROJECT_CONTEXT.md after verified changes.
Engineering Rules
- Prefer existing project patterns and
geoai-py APIs over new abstractions.
- Preserve geospatial coordinates only when the input has a valid CRS and transform. Ordinary JPEG results remain pixel coordinates.
- Report false positives, misses, runtime, and unsupported classes honestly. Do not hide limitations by lowering thresholds.
- Do not batch-run large datasets until a representative validation indicates that the approach is suitable.
- Do not delete or overwrite source imagery, model weights, results, or unrelated user changes.
- Do not commit unless the user explicitly asks.