An offline CLI tool to analyze reachable Portals for Ingress Drone Mark I.
Implementations in different languages are listed and compared in Benchmark.
The CI workflow builds universal binary for macOS, x86_64 and aarch64 binaries for Linux and x86_64 binary for Windows, the files are available as artifacts.
- CMake (3.23 is marked but backporting should be possible)
- Boost (1.79 is used in CI)
- JSON
- Program Options
- CXX that supports C++20 (Backporting is possible and should be easy)
$ cmake -B build
$ cmake --build build
All the files should be JSON.
- Portal list file(s), should be an array of:
{ "guid": "GUID of Portal", "title": "Title of Portal", "lngLat": { "lng": 90.0, // Longitude "lat": 45.0 // Latitude } }
- Portal Key list file, should be an array of GUID (Not required but strongly recommended)
Maybe an IITC plugin like this helps.
$ ingress-drone-explorer <portal-list-file> -s <longitude,latitude> [options...]
Explore with key list:
$ ... -k <path-to-key-list-file>
Output cells JSON for IITC Draw tools:
$ ... --output-drawn-items <path-to-output>
Help information:
$ ingress-drone-explorer -h
- Area: Shenzhen downtown and Hong Kong
- Portals: 34,041 Portals in 13,451 cells
- Keys: 11 matched
- Start Point: Shenzhen Bay Sports Center
- Result: 30,462 Portals and 11,342 cells are reachable
Average exploration time consumed of 100 executions on MacBook Air (M2).
Lines | Commit | Consumed | |
---|---|---|---|
C++ | Current |
0.583 s | |
Node.js | 7ad90e9 |
1.295 s | |
Python | 841b9f0 |
2.813 s | |
Rust | cb21807 |
0.371 s | |
Swift | 2c73a58 |
0.722 s |
The results of other implementations may be outdated, please check their repositories for latest results.