Open satellite imagery using deeplinks with coordinates and zoom levels via bash `open` command. Capture screenshots at multiple zoom levels for land analysis, building inventory, structure identification, and agricultural planning. Use when user needs satellite imagery, aerial view, farm analysis, land survey, building detection, structure inventory, property boundaries, coordinates lookup, or OSINT of any location. Triggers on requests for overhead views, map screenshots, or geographic reconnaissance.
name
Satellite OSINT & Land Analysis
slug
satellite_osint
summary
Deeplink satellite maps with coordinates/zoom, capture screenshots, analyze land and structures for farming
description
Open satellite imagery using deeplinks with coordinates and zoom levels via bash open command. Capture screenshots at multiple zoom levels for land analysis, building inventory, structure identification, and agricultural planning. Use when user needs satellite imagery, aerial view, farm analysis, land survey, building detection, structure inventory, property boundaries, coordinates lookup, or OSINT of any location. Triggers on requests for overhead views, map screenshots, or geographic reconnaissance.
version
1.0
author
FF-Terminal
priority
high
tags
["satellite","osint","maps","coordinates","aerial","farming","land-analysis"]
triggers
["satellite","aerial","land analysis","farm","coordinates","google earth","overhead view","property","building inventory"]
recommended_tools
["bash","macos_control","gemini_image_analysis"]
Satellite OSINT & Land Analysis
Open satellite maps via deeplinks. Capture at multiple zoom levels. Analyze land/structures.
🚀 CRITICAL: Address-First Approach (FASTEST METHOD)
ALWAYS try the address directly in the URL first.
Both Google Maps and Apple Maps auto-geocode addresses - no parsing needed!
Apple Maps (Preferred - Native macOS, Fastest)
open "maps://?q=110+Clover+St+Cedar+Creek+Texas&t=h"
open "maps://?t=h&ll=30.0872,-97.5014&z=18" Google Maps (Alternative - Browser-based)
open "https://www.google.com/maps/@30.0872,-97.5014,18z/data=!3m1!1e3" Force Satellite View with AppleScript
osascript -e
'tell app "Maps" to activate'
-e
'delay 1'
-e
'tell app "System Events" to keystroke "3" using command down'
Only Geocode If:
❌ You need exact lat/lon for calculations
❌ The address format is unusual or international
❌ You're doing multi-location analysis with coordinates
NEVER waste tool calls geocoding when the address works directly in the URL!
Obtaining Coordinates
From Address (Geocoding - No API Key)
ADDRESS= "123+Main+St,+Des+Moines,+Iowa" curl -s "https://nominatim.openstreetmap.org/search?q= ${ADDRESS} &format=json" | jq -r '.[0] | "(.lat),(.lon)"' From Device Location (macOS)
osascript -e 'tell application "System Events" to get the value of location'
swift -e 'import CoreLocation; let m=CLLocationManager(); if let l=m.location { print("(l.coordinate.latitude),(l.coordinate.longitude)") }' From IP (Approximate - Fallback) curl -s "https://ipapi.co/json" | jq -r '"(.latitude),(.longitude)"' Manual Lookup Google Maps : Right-click location → "What's here?" → coordinates appear at bottom Apple Maps : Long-press to drop pin → tap pin → coordinates in info panel What3Words : Convert 3-word address at what3words.com From Property Address (Google Geocoding)
curl -s "https://maps.googleapis.com/maps/api/geocode/json?address=123+Farm+Rd,+Iowa&key=YOUR_KEY" | jq -r '.results[0].geometry.location | "(.lat),(.lng)"' URL Patterns (Use with bash open command) Google Maps Satellite https://www.google.com/maps/@{LAT},{LON},{ZOOM}z/data=!3m1!1e3 ZOOM: 1-21 (21=max detail, 18=buildings clear, 15=property, 12=region) Google Earth Web https://earth.google.com/web/@{LAT},{LON},{ALT}a,35y,0h,0t,0r ALT: altitude in meters (500=high detail, 2000=overview) Bing Maps Aerial https://www.bing.com/maps?cp={LAT}~{LON}&lvl={ZOOM}&style=a Sentinel Hub (Agricultural/NDVI) https://apps.sentinel-hub.com/eo-browser/?zoom={ZOOM}&lat={LAT}&lng={LON} ESRI World Imagery https://www.arcgis.com/home/webmap/viewer.html?center={LON},{LAT}&level={ZOOM} Execution Examples Method 1: Direct Address (FASTEST)
open "maps://?q=110+Clover+St+Cedar+Creek+Texas&t=h" sleep 4 screencapture -x ~/Desktop/satellite_capture.png Method 2: Address with Multi-Zoom (Apple Maps) ADDRESS= "110+Clover+St+Cedar+Creek+Texas"
open "maps://?q= ${ADDRESS} &t=h&z=12" sleep 4 screencapture -x ~/Desktop/overview_z12.png
open "maps://?q= ${ADDRESS} &t=h&z=16" sleep 4 screencapture -x ~/Desktop/property_z16.png
open "maps://?q= ${ADDRESS} &t=h&z=19" sleep 4 screencapture -x ~/Desktop/structures_z19.png Method 3: Coordinates with Multi-Zoom (Google Maps) LAT=37.7749; LON=-122.4194
open "https://www.google.com/maps/@ ${LAT} , ${LON} ,12z/data=!3m1!1e3" sleep 4 screencapture -x ~/Desktop/z12.png
open "https://www.google.com/maps/@ ${LAT} , ${LON} ,16z/data=!3m1!1e3" sleep 4 screencapture -x ~/Desktop/z16.png
open "https://www.google.com/maps/@ ${LAT} , ${LON} ,19z/data=!3m1!1e3" sleep 4 screencapture -x ~/Desktop/z19.png Method 4: With AppleScript for Reliable Satellite View
osascript << 'EOF' property theAddress : "110 Clover St, Cedar Creek, Texas" -- Open Apple Maps with satellite view do shell script "open 'maps://?q=" & theAddress & "&t=h'" tell application "Maps" activate end tell
delay 2
-- Force satellite view (Cmd+3) tell application "System Events" tell process "Maps" keystroke "3" using command down end tell end tell
delay 4
-- Fullscreen for better screenshot tell application "System Events" tell process "Maps" keystroke "f" using { command down, control down} end tell end tell
delay 1
-- Capture do shell script "screencapture -x ~/Desktop/satellite_" & ( do shell script "date +%Y%m%d_%H%M%S" ) & ".png" EOF Screenshot commands screencapture -x ~/Desktop/capture.png
screencapture -i ~/Desktop/selection.png
screencapture -T 5 -x ~/Desktop/delayed.png
Visual Verification (CRITICAL STEP) After opening the map, ALWAYS verify you're looking at the correct location!
Why This Matters: Last session used approximate town coordinates (Cedar Creek center) instead of actual property Result: 4 wrong screenshots wasted before discovery Prevention: Analyze first screenshot to confirm correct location before multi-zoom sequence Complete Workflow (Agent Must Follow) Step 1: Detect Input Type
open "maps://?q=ADDRESS&t=h"
open "https://www.google.com/maps/search/ADDRESS/@?layer=satellite" Step 3: Wait for Tiles sleep 4
Step 4: Capture Screenshot screencapture -x ~/Desktop/satellite_$( date +%Y%m%d_%H%M%S).png Step 5: Visual Verification
Step 6: Multi-Zoom Analysis (Optional)
Zoom Level Reference Zoom View Level Use Case 10-12 County/Region Context, neighboring properties 13-15 Township Property boundaries, road access 16-17 Property Field layout, major structures 18-19 Buildings Structure identification 20-21 Detail Roof condition, equipment Provider Selection Need Best Provider General/Buildings Google Maps 3D/Terrain Google Earth Crop health/NDVI Sentinel Hub Alternative imagery Bing Maps Historical Google Earth timeline Farm Analysis Workflow Overview (zoom 12): Regional context, access roads Property (zoom 16): Boundaries, field divisions Structures (zoom 19): Building inventory Crop Analysis : Use Sentinel for vegetation indices Coordinate Format Use Decimal Degrees (DD): Latitude: -90 to 90 (negative = South) Longitude: -180 to 180 (negative = West) Example: 37.7749, -122.4194 Output Organization Save captures to organized folders: ~/Desktop/farm_analysis/ ├── overview/ (zoom 10-14) ├── property/ (zoom 15-17) ├── structures/ (zoom 18-21) Integration Use bash tool to execute open commands. Use sleep 3-5 between URL and screenshot to allow tiles to load. Maximize browser window for best capture quality.