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:
Detections Filter,Path Deviation,Polygon Zone Visualization,Absolute Static Crop,Instance Segmentation Model,SAM 3,Reference Path Visualization,SAM 3 Interactive,Stability AI Inpainting,Gaze Detection,Triangle Visualization,Crop Visualization,Byte Tracker,Image Convert Grayscale,EasyOCR,Dynamic Zone,Model Comparison Visualization,Detection Event Log,Camera Focus,Image Slicer,Track Class Lock,YOLO-World Model,OC-SORT Tracker,Overlap Filter,Heatmap Visualization,Stitch Images,Keypoint Visualization,Polygon Visualization,Time in Zone,Detections Stabilizer,Dynamic Crop,Perspective Correction,Segment Anything 2 Model,Polygon Visualization,QR Code Generator,Instance Segmentation Model,VLM As Detector,OCR Model,Roboflow Visual Search Classifier,SAM2 Video Tracker,Circle Visualization,Line Counter,Contrast Enhancement,Grid Visualization,Mask Edge Snap,Ellipse Visualization,Time in Zone,Byte Tracker,Pixelate Visualization,Detections Transformation,Corner Visualization,SORT Tracker,Image Blur,Label Visualization,Template Matching,ByteTrack Tracker,Bounding Rectangle,Seg Preview,Path Deviation,Object Detection Model,Cosine Similarity,Velocity,Per-Class Confidence Filter,Roboflow Visual Search,Image Preprocessing,Trace Visualization,Morphological Transformation,Color Visualization,SIFT Comparison,Stability AI Outpainting,Detections Consensus,Morphological Transformation,Camera Calibration,PTZ Tracking (ONVIF),Dot Visualization,Motion Detection,Halo Visualization,Detection Offset,SAM 3,Google Vision OCR,Classification Label Visualization,Bounding Box Visualization,Image Contours,Camera Focus,Halo Visualization,SAM3 Video Tracker,Moondream2,Stability AI Image Generation,Object Detection Model,VLM As Detector,Relative Static Crop,Detections Combine,Contrast Equalization,Identify Changes,Image Slicer,Detections Merge,Mask Area Measurement,BoT-SORT Tracker,Detections Classes Replacement,Instance Segmentation Model,Byte Tracker,SAM 3,Detections Stitch,Text Display,Depth Estimation,Image Threshold,Icon Visualization,Blur Visualization,Line Counter Visualization,Time in Zone,SIFT,Instance Segmentation Model,Background Subtraction,Object Detection Model,Background Color Visualization,Detections List Roll-Up,Mask Visualization - outputs:
SAM 3,Path Deviation,Polygon Zone Visualization,Instance Segmentation Model,VLM As Classifier,Google Gemma API,Keypoint Detection Model,Qwen-VL,Reference Path Visualization,Triangle Visualization,Crop Visualization,Anthropic Claude,YOLO-World Model,Llama 3.2 Vision,Anthropic Claude,Keypoint Visualization,Webhook Sink,Florence-2 Model,Polygon Visualization,Time in Zone,MoonshotAI Kimi,Qwen 3.6 API,Perspective Correction,Google Gemini,Line Counter,Polygon Visualization,MoonshotAI Kimi,Instance Segmentation Model,VLM As Detector,Clip Comparison,Twilio SMS/MMS Notification,Line Counter,Circle Visualization,PLC EthernetIP,Grid Visualization,Ellipse Visualization,Time in Zone,LMM For Classification,Keypoint Detection Model,Florence-2 Model,Corner Visualization,Buffer,Label Visualization,Llama 3.2 Vision,Seg Preview,Path Deviation,Object Detection Model,Anthropic Claude,Qwen 3.5 API,Per-Class Confidence Filter,Trace Visualization,Color Visualization,Roboflow Dataset Upload,Email Notification,Detections Consensus,Keypoint Detection Model,Dot Visualization,Motion Detection,Roboflow Asset Library Attributes,Halo Visualization,SAM 3,Classification Label Visualization,Clip Comparison,Mask Visualization,Bounding Box Visualization,OpenAI,Halo Visualization,SAM3 Video Tracker,OpenRouter,Object Detection Model,VLM As Detector,Google Gemma,Roboflow Dataset Upload,OpenAI,Google Gemini,Detections Classes Replacement,Instance Segmentation Model,Email Notification,SAM 3,Cache Set,PLC Reader,Size Measurement,OpenAI,Line Counter Visualization,Time in Zone,Google Gemini,Microsoft SQL Server Sink,Instance Segmentation Model,Object Detection Model,Detections List Roll-Up,VLM As Classifier
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
}