GeoTag Detection¶
Class: GeoTagDetectionBlockV1
Source: inference.core.workflows.core_steps.transformations.geotag_detection.v1.GeoTagDetectionBlockV1
Convert object detection bounding boxes to real-world GPS coordinates using camera position metadata.
How This Block Works¶
This block takes object detection predictions and camera GPS metadata (latitude, longitude, altitude) and projects each detection's pixel position to a real-world ground coordinate. The projection uses the camera's field of view and altitude to compute a ground footprint, then maps pixel offsets from image center to geographic offsets from the camera position.
- Receives detection predictions from an upstream object detection block (any model that outputs bounding boxes)
- Takes camera GPS metadata as inputs: latitude, longitude, altitude above ground, and optionally horizontal field of view
- Computes ground footprint from altitude and FOV using basic trigonometry
- Projects each detection center from pixel coordinates to lat/lon offset from camera position
- Outputs GeoJSON-ready records with class, confidence, and geographic coordinates for each detection
The projection assumes a nadir (straight-down) camera orientation, which is accurate for most drone survey flights. For oblique angles, accuracy decreases with distance from image center.
Common Use Cases¶
- Drone Survey Analysis: Process drone footage to map detected objects (vehicles, people, animals, structures) at their real-world locations for survey, inspection, or monitoring applications
- Agricultural Monitoring: Map crop damage, equipment, or livestock positions from aerial imagery for precision agriculture workflows
- Security and Surveillance: Create geospatial awareness from aerial camera feeds, mapping detected activity to real-world coordinates for situational awareness
- Wildlife Conservation: Track and map animal detections from drone surveys to monitor populations, migration patterns, or habitat usage
- Construction Site Monitoring: Map equipment, materials, and personnel positions from aerial imagery for site management and safety compliance
- Search and Rescue: Rapidly map detected persons or objects across large areas from drone footage to coordinate response efforts
Connecting to Other Blocks¶
This block receives detections and produces geospatial data:
- After object detection blocks (YOLO, RF-DETR, etc.) to geotag their predictions with real-world coordinates
- After tracking blocks (ByteTrack, OC-SORT) to produce geotagged tracks with movement paths
- Before data sink blocks (CSV, JSON, Webhook) to export detection locations for GIS analysis
- Before visualization blocks to annotate frames with GPS coordinate labels
- In video processing pipelines where each frame's GPS comes from drone telemetry or EXIF metadata
Type identifier¶
Use the following identifier in step "type" field: roboflow_core/geotag_detection@v1to add the block as
as step in your workflow.
Properties¶
| Name | Type | Description | Refs |
|---|---|---|---|
name |
str |
Enter a unique identifier for this step.. | ❌ |
latitude |
float |
GPS latitude of the camera position in decimal degrees. For drone imagery, this comes from the flight controller GPS. Positive values are North, negative are South.. | ✅ |
longitude |
float |
GPS longitude of the camera position in decimal degrees. For drone imagery, this comes from the flight controller GPS. Positive values are East, negative are West.. | ✅ |
altitude |
float |
Camera altitude above ground level in meters. Used with field of view to compute the ground footprint. For drones, this is the relative altitude reported by the flight controller, not absolute altitude.. | ✅ |
horizontal_fov |
float |
Horizontal field of view of the camera in degrees. Default 73.7 covers most DJI consumer drones (Mini, Air, Mavic series). Adjust for other cameras. Wider FOV = larger ground footprint per frame.. | ✅ |
heading |
float |
Compass bearing that the top of the image points toward, in degrees clockwise from true north. 0 means image-up is North (the default). When the gimbal does not report yaw, derive this from the flight course (bearing between successive GPS fixes) for nose-forward flight. Rotates the ground footprint so detections land on the correct real-world bearing instead of being pinned to North.. | ✅ |
The Refs column marks possibility to parametrise the property with dynamic values available
in workflow runtime. See Bindings for more info.
Available Connections¶
Compatible Blocks
Check what blocks you can connect to GeoTag Detection in version v1.
- inputs:
SAM 3,Trace Visualization,Image Preprocessing,SAM 3 Interactive,Time in Zone,Image Slicer,Dynamic Crop,Detections Filter,Mask Area Measurement,Object Detection Model,BoT-SORT Tracker,Bounding Box Visualization,Object Detection Model,Velocity,Mask Edge Snap,Halo Visualization,Mask Visualization,Path Deviation,Template Matching,Absolute Static Crop,Pixelate Visualization,SIFT Comparison,Dot Visualization,Stitch Images,Instance Segmentation Model,Stability AI Inpainting,Cosine Similarity,SAM3 Video Tracker,EasyOCR,OC-SORT Tracker,Keypoint Visualization,Track Class Lock,Gaze Detection,Dynamic Zone,Auto Rotate on Edges,YOLO-World Model,Image Slicer,Detections Combine,Byte Tracker,Detections Transformation,Time in Zone,PTZ Tracking (ONVIF),OCR Model,Circle Visualization,Model Comparison Visualization,Stability AI Outpainting,Detections Classes Replacement,Line Counter Visualization,Camera Calibration,Contrast Enhancement,Relative Static Crop,Byte Tracker,SAM2 Video Tracker,ByteTrack Tracker,Morphological Transformation,Per-Class Confidence Filter,Halo Visualization,VLM As Detector,Polygon Visualization,SORT Tracker,Camera Focus,Corner Visualization,Ellipse Visualization,PP-OCR,Crop Visualization,Morphological Transformation,Detections List Roll-Up,Roboflow Visual Search,Icon Visualization,Heatmap Visualization,Color Visualization,Motion Detection,Instance Segmentation Model,Detections Consensus,Instance Segmentation Model,Image Blur,Triangle Visualization,Background Color Visualization,Grid Visualization,Time in Zone,Detection Event Log,Detections Stitch,Image Contours,Detections Stabilizer,Image Threshold,Blur Visualization,Object Detection Model,SAM 3,SAM 3,Detections Merge,Roboflow Visual Search Classifier,QR Code Generator,Reference Path Visualization,Polygon Zone Visualization,Path Deviation,Classification Label Visualization,Google Vision OCR,Perspective Correction,Background Subtraction,Camera Focus,Image Convert Grayscale,Label Visualization,Contrast Equalization,Polygon Visualization,Moondream2,SIFT,Stability AI Image Generation,Text Display,Detection Offset,VLM As Detector,Instance Segmentation Model,Line Counter,Identify Changes,Bounding Rectangle,Overlap Filter,Segment Anything 2 Model,Depth Estimation,Seg Preview,Byte Tracker - outputs:
Google Gemini,OpenAI,SAM 3,Trace Visualization,Anthropic Claude,Time in Zone,PLC EthernetIP,LMM For Classification,Object Detection Model,Bounding Box Visualization,Object Detection Model,Webhook Sink,Halo Visualization,Buffer,Mask Visualization,Path Deviation,Twilio SMS/MMS Notification,MoonshotAI Kimi,Dot Visualization,OpenAI,Instance Segmentation Model,Email Notification,Google Gemini,Frame Delay,Keypoint Visualization,Llama 3.2 Vision,Florence-2 Model,YOLO-World Model,Keypoint Detection Model,Time in Zone,Circle Visualization,Detections Classes Replacement,Line Counter Visualization,PLC Reader,Clip Comparison,Per-Class Confidence Filter,Email Notification,Halo Visualization,VLM As Detector,Clip Comparison,Polygon Visualization,Corner Visualization,Ellipse Visualization,Qwen-VL,Google Gemma,Crop Visualization,Qwen 3.5 API,Detections List Roll-Up,Anthropic Claude,Keypoint Detection Model,Size Measurement,Color Visualization,Instance Segmentation Model,Motion Detection,Google Gemma API,Detections Consensus,OpenAI,Instance Segmentation Model,Time in Zone,Triangle Visualization,SAM3 Video Tracker,Grid Visualization,Object Detection Model,SAM 3,SAM 3,Anthropic Claude,Florence-2 Model,Reference Path Visualization,Polygon Zone Visualization,Roboflow Asset Library Attributes,Path Deviation,Classification Label Visualization,Microsoft SQL Server Sink,VLM As Classifier,Perspective Correction,Polygon Visualization,Label Visualization,Llama 3.2 Vision,Qwen 3.6 API,VLM As Detector,Instance Segmentation Model,Line Counter,MoonshotAI Kimi,Roboflow Dataset Upload,OpenRouter,Keypoint Detection Model,Cache Set,VLM As Classifier,Google Gemini,Line Counter,Seg Preview,Roboflow Dataset Upload
Input and Output Bindings¶
The available connections depend on its binding kinds. Check what binding kinds
GeoTag Detection in version v1 has.
Bindings
-
input
image(image): The image that detections were generated from. Used to determine image dimensions for coordinate projection..predictions(Union[instance_segmentation_prediction,object_detection_prediction]): Object detection predictions to geotag. Each detection's bounding box center will be projected to a GPS coordinate..latitude(float): GPS latitude of the camera position in decimal degrees. For drone imagery, this comes from the flight controller GPS. Positive values are North, negative are South..longitude(float): GPS longitude of the camera position in decimal degrees. For drone imagery, this comes from the flight controller GPS. Positive values are East, negative are West..altitude(float): Camera altitude above ground level in meters. Used with field of view to compute the ground footprint. For drones, this is the relative altitude reported by the flight controller, not absolute altitude..horizontal_fov(float): Horizontal field of view of the camera in degrees. Default 73.7 covers most DJI consumer drones (Mini, Air, Mavic series). Adjust for other cameras. Wider FOV = larger ground footprint per frame..heading(float): Compass bearing that the top of the image points toward, in degrees clockwise from true north. 0 means image-up is North (the default). When the gimbal does not report yaw, derive this from the flight course (bearing between successive GPS fixes) for nose-forward flight. Rotates the ground footprint so detections land on the correct real-world bearing instead of being pinned to North..
-
output
geo_detections(list_of_values): List of values of any type.geojson(dictionary): Dictionary.
Example JSON definition of step GeoTag Detection in version v1
{
"name": "<your_step_name_here>",
"type": "roboflow_core/geotag_detection@v1",
"image": "$inputs.image",
"predictions": "$steps.detection.predictions",
"latitude": 47.428681,
"longitude": -105.279125,
"altitude": 69.0,
"horizontal_fov": 73.7,
"heading": 0.0
}