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