AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Movement Trajectory

skill-muend-geoai-skills-movement-trajectory · by muend

>-

No reviews yet
0 installs
32 views
0.0% view→install

Install

$ agentstack add skill-muend-geoai-skills-movement-trajectory

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-muend-geoai-skills-movement-trajectory)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Movement Trajectory? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Movement & Trajectory Analytics

Purpose: turn noisy timestamped points into defensible movement facts. The recurring failure modes: speed computed through GPS noise (teleporting points → 400 km/h pedestrians), stops invented by signal drift, and privacy-blind delivery of individual-level traces.

Data model first

A trajectory = ordered fixes per object: (object_id, timestamp, x, y, [accuracy, ...]). Before analysis, report per object: fix count, time span, median sampling interval, and interval distribution — sampling rate drives every method choice (1 s vehicle traces and 1 fix/hour animal tags are different problems wearing the same schema).

import movingpandas as mpd
import geopandas as gpd

gdf = gpd.GeoDataFrame(df, geometry=gpd.points_from_xy(df.lon, df.lat),
                       crs=4326).to_crs(gdf_utm_epsg)
tc = mpd.TrajectoryCollection(gdf, "object_id", t="timestamp")

Work in a projected CRS for all speed/distance computation; keep timestamps timezone-aware UTC (mixed local times create midnight teleports).

Cleaning pipeline (in order)

  1. Deduplicate identical (object, timestamp) fixes.
  2. Accuracy filter: drop fixes above an HDOP/accuracy threshold if

the column exists (report the threshold and % dropped).

  1. Speed filter: drop fixes implying impossible speed for the mode

(walk > 15 km/h sustained, car > 200 km/h...); iterate — one bad fix creates two bad segments (mpd.OutlierCleaner).

  1. Gap splitting: split trajectories at temporal gaps (e.g., > 5×

median interval) — interpolating across a tunnel/power-off invents movement.

  1. Optional smoothing (Kalman/rolling median) for jittery urban-canyon

data — AFTER outlier removal, and never before stop detection tuning.

Accounting line per step: fixes in → out.

Stops and trips

Stop = spatial dwell: fixes within a distance radius for a minimum duration (mpd.TrajectoryStopDetector(max_diameter=50, min_duration=timedelta(minutes=5))). The two parameters ARE the result — report them and run a ±50% sensitivity check; urban-canyon drift mimics movement, so diameter ~30 s degrades matching sharply — report match confidence and the % of unmatched points; don't silently keep unmatched geometry.

  • Never map-match animal tracks or off-road movement (obviously) — and

don't compute "distance traveled" from raw noisy fixes either (noise inflates path length ~5-20%); smooth first, state the method.

Aggregate analytics

  • Flow maps / desire lines: aggregate OD pairs before plotting

(cartography-geoviz for delivery); hairball avoidance = zone-level aggregation + minimum-flow threshold.

  • Density: KDE or hex-bin of fixes vs of trips — fixes overweight slow

movement (dwell = many fixes); use trip-based or time-weighted density and say which.

  • Space-time clustering (co-location, convoys): ST-DBSCAN family;

cluster parameters in both space and time reported together.

  • Sequence/periodicity: hour-of-day × day-of-week activity matrices per

object class before any behavioral claims.

Privacy — non-optional

Individual trajectories are personal data almost everywhere (GDPR etc.) and are notoriously re-identifiable (home/work anchor pairs identify most people). Defaults: aggregate before sharing (zones ≥ k objects, suppress cells < k, typical k=5-10), truncate trip ends near homes, and never publish raw individual traces without explicit clearance. State the anonymization applied in every deliverable.

Verification protocol

  1. Speed histogram per mode after cleaning — tail must be physically

plausible.

  1. Map 3 sample trajectories (raw vs cleaned vs matched) over a basemap.
  2. Stop-detection sensitivity: parameters ±50%, report stop-count change.
  3. OD totals reconcile with trip counts (accounting).

Pitfalls checklist

  • Speeds computed across gaps or through outlier fixes.
  • Distance traveled from raw (unsmoothed, unmatched) fixes.
  • Stops detected with radius below GPS noise, or drift counted as trips.
  • Mixed timezones / DST jumps creating phantom teleports.
  • Fix-density maps read as movement-density maps.
  • Individual traces shipped without aggregation/suppression.
  • Trajectories split by object but not by temporal gap.

Execution contract

  • Workflow: validate identifiers, time, and CRS; segment tracks; remove impossible fixes; infer stops or trips; optionally map-match; aggregate; apply privacy controls; verify.
  • Decision rules: use trajectory methods for observed timestamped movement, network analysis for possible routes or access, and point-pattern methods when sequence and identity are absent.
  • Verification protocol: inspect speed and gap distributions, map raw-versus-cleaned samples, perturb stop parameters, reconcile trip and OD counts, and audit disclosure risk.
  • Failure modes: suppress or qualify results for timezone ambiguity, long gaps, implausible speeds, poor network matching, sparse sampling, or re-identification risk.
  • Deliverables: cleaned trajectories or approved aggregates, segmentation rules, quality report, derived stop/trip tables, privacy treatment, maps, and limitations.
  • Source freshness: consult [the authoritative source registry](references/authoritative-sources.md) before using format, library, or privacy guidance and record the checked date.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.