A simple Rust-based tool to monitor data updates in common static-map services (Google, Yandex, Bing, Wikimapia ...) over user-defined areas.
Large scale Open Source Image Intelligence (OSIMINT) requires automatic monitoring of open data sources in order to be alerted when new imagery or Open source Geodata has been added on an area of interest.
This tool allows to set up recurring monitoring tasks of public mapping services on user-defined bounding boxes. When an data update on an area is detected, an alert is logged and a thumbnail of the area is saved.
The tool work with either image data (Aerial & satellite imagery, raster maps) or Json (Wikimapia)
You need to install Rust in order to compile. Get started in a few seconds at https://www.rust-lang.org/learn/get-started
cargo build --release
The tool takes a Json configuration file as single argument
./OSIMINT_alert confs/exemple.json
In the json you can specify
-
The name of your Area Of Interest
-
The imagery source ("Yandex", "Google", "Bing", "Wikimapia")
-
Your API key (for Google, Bing & Wikimapia)
-
The layer of interest
- Yandex: "sat", "map", "trf"
- Google: "satellite", "roadmap", "hybrid", "terrain"
- Bing: "Aerial", "AerialWithLabels", "Road"
- Wikimapia: the category code as defined here
-
The bounding box coordinates
-
The frequency at which to check for new imagery (You may want to limit your API usage)
No matter the size of the provided bounding box, the fetched tiles are fixed size (quite small depending on the provider). If new imagery is added to a very small part of the AOI (<1 pixel at the zoom level), the update might not be detected.
TODO
- Mail alerts