Skip to content
Leo Zhang
Back to Projects

Forest Patrol GIS

Chunxiao Technology · 2021 – 2022

Role: Android Mobile Client Developer (Solo)

Cover

Cover

1 / 19

Offline-first Android GIS app for forest rangers in zero-signal areas. ArcGIS Runtime SDK for map rendering, GIS annotation, and area calculation. Key challenges: extremely weak GPS in dense forest (up to 30s between fixes), coordinate system conversion across WGS-84 (offline Google tiles), BD-09 (Baidu online), and GCJ-02 (national standard) with auto-detection on map source change. Deferred sync for fire/pest/flood/risk reporting. Deployed for local forestry dept with tens of field rangers. Built solo over 1 year.

30s

Signal Gap Tolerance

3 (WGS/BD/GCJ)

Map Systems

Unlimited

Offline Duration

Auto on reconnect

Sync

Problem

Forest rangers patrol remote areas with zero cellular signal and extremely weak GPS — satellite fixes can take up to 30 seconds. Multiple map coordinate systems (Google offline, Baidu online, national GCJ-02) must coexist in a single app.

Solution

Offline-first architecture: pre-loaded offline map tiles via ArcGIS Runtime SDK, local SQLite persistence, GPS trajectory recording with weak-signal tolerance, coordinate system conversion layer supporting WGS-84 / BD-09 / GCJ-02 for seamless overlay with auto-detection on map source change. Smart sync protocol uploads all data when network returns.

Key Highlights

  • Delivered offline-first Android GIS using Esri ArcGIS Runtime SDK for map rendering, GIS annotation, and area calculation
  • Handled extremely weak GPS in dense forest (up to 30s between fixes) with tolerant acquisition and trajectory smoothing
  • Implemented coordinate system conversion between WGS-84, BD-09, and GCJ-02 for seamless overlay; auto-detects map source change and triggers conversion
  • Built offline map tile preloading, location-based attendance (check-in/check-out), background keep-alive (dual-process guard), and Firebase push notifications

Tech Stack

JavaKotlinAndroid SDKArcGIS Runtime SDKBaidu LBSFirebaseGPS TrajectoryWGS-84/BD-09/GCJ-02SQLiteOffline Map Tiles

What I Learned

Offline-first design patterns are essential for field apps; coordinate system conversion is a hidden complexity in Chinese GIS apps where Google/Baidu/national maps coexist; GPS weak-signal tolerance (30s gaps) requires careful state management.