Skip to main content
Keep the tools you already run. Call NIKA GeoEngine from your pipelines, scripts or FME Flow, and share results with imagery servers such as ArcGIS Image Server, for the steps that need GPUs, high memory or controlled access.

Integrate the way each vendor allows

Every pattern on this page keeps each product inside its own licence terms.

Each product's own installer

FME Flow with Safe Software’s Helm chart, ArcGIS Enterprise on Kubernetes with Esri’s deployment tools. NIKA GeoEngine never repackages, redistributes or wraps another vendor’s software.

Your licence, your seat count

Each product runs under the licence you hold for it, and the vendor’s own engine and core limits keep applying.

Documented interfaces only

Public REST APIs, webhooks and shared storage formats such as Cloud-Optimised GeoTIFF. No private endpoints, and no automating desktop products.

Separate namespaces and nodes

Each product gets its own namespace, quota and node pool, so neither starves the other.
FME: use FME Flow for automation. Safe Software’s licence does not allow FME Form (formerly FME Desktop) to be used as a stand-alone translation service for others. Server-side automation belongs on FME Flow. Never run FME Form inside a worker. Confirm your use with Safe Software if it is unusual.

The integration contract

Every integration does the same three things. Only the tool that makes the calls changes.
Illustrative API shape. Paths and fields show the pattern. The released job API gives the final names; the surrounding pipeline or FME logic does not change.
1

Submit

Send the worker, exact version, machine class and inputs, plus the item list for a batch.
2

Poll

GET /v1/jobs/j-7q2c9xk4 until completed or failed.
3

Read the outputs

Read results from shared storage. Later steps, maps and imagery servers read from the same place.

Rules that keep integrations robust

  • Service account per pipeline, granted only the workers it needs, restricted ones included.
  • Pin the worker version. Never “latest” in production.
  • Fail the step when the job fails, set a timeout longer than your longest job, and cancel the job if the step gives up waiting.
  • Keep the step thin. It submits and waits; the compute runs on NIKA GeoEngine’s pools.
  • Keep the token in a secret, never in a pipeline definition.

Choose your tool

Anything that can make an HTTPS call can submit a job: a scheduler, a CI job, a cron entry or a script. Your tool keeps ownership of ordering, retries and triggers; NIKA GeoEngine runs the geoprocessing step. This small client uses only the Python standard library, so it runs in any step or container.
geoengine_job.py
Pass the printed job ID to later steps, and keep the token in your tool’s secret store.
Retries submit a new job. If your tool retries a failed step, the step submits a fresh job. Retry only infrastructure errors, not a job that failed because of the worker’s own code, which would fail again and spend compute twice. Keep workers safe to rerun.
Fan out with one batch job. Send all items in one request when they share a worker and machine class, so you track one job ID and one resource record. Submit separate jobs only when items need different workers or versions.

Sharing one cluster