Skip to content

An offline CLI tool to analyze reachable Portals for Ingress Drone Mark I.

License

Notifications You must be signed in to change notification settings

lucka-me/ingress-drone-explorer-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ingress Drone Explorer - C++

CI Lines of code

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.

Build from Source

Requirements

  • 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)

Build

$ cmake -B build
$ cmake --build build

Exploration Guide

Prepare Files

All the files should be JSON.

  1. 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
        }
    }
  2. Portal Key list file, should be an array of GUID (Not required but strongly recommended)

Maybe an IITC plugin like this helps.

Usage

$ ingress-drone-explorer <portal-list-file> -s <longitude,latitude> [options...]

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

Benchmark

Sample Data

  • 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

Result

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.

About

An offline CLI tool to analyze reachable Portals for Ingress Drone Mark I.

Resources

License

Stars

Watchers

Forks

Releases

No releases published