Náš Android projekt aktuálně deklaruje ArcGIS Maps SDK for Kotlin 300.0.0. Používáme CustomLocationDataSource k zobrazování polohových údajů z externích GNSS přijímačů, včetně přijímačů, které poskytují dekódovaná data o poloze místo NMEA vět.
Zkoumáme hlášení o zpožděných aktualizacích pozice na mapě a nesrovnalostech v poloze nebo přesnosti při použití externího GPS. Rádi bychom ověřili náš vlastní poskytovatel vůči zamýšlené smlouvě SDK; nezjistili jsme, že by SDK způsobovalo tyto příznaky.
Náš CustomLocationDataSource.LocationProvider poskytuje samostatné toky Flow<Location> a Flow<Double>. Každou externí Android lokaci převádíme na ArcGIS Location pomocí souřadnic WGS84, horizontální a vertikální přesnosti, rychlosti a směru. Pro externí přijímače je tok heading odvozen ze směru fixace. Volání Location.create explicitně nepředává původní časovou značku fixace přijímače. Některé nedostupné nebo neplatné hodnoty přesnosti a pohybu jsou momentálně převedeny na 0.
Můžete nám poradit ohledně následujícího?
- Jak by měl vlastní zdroj reprezentovat nedostupnou přesnost, rychlost, směr nebo heading? Může použití 0 pro chybějící měření ovlivnit, jak LocationDisplay zpracovává fixaci?
- Jak bychom měli zachovat nebo ověřit původní čas fixace přijímače? Měl by poskytovatel před vysíláním zahodit zastaralé nebo nesprávně seřazené fixace, zejména po opětovném připojení nebo změně zdroje?
- Je vhodné odvozovat samostatný tok heading ze směru fixace? Existují požadavky na pořadí nebo synchronizaci mezi toky location a heading?
- Jaké doporučení ohledně vyrovnávací paměti, frekvence aktualizací nebo instrumentace by nám pomohly rozlišit zpoždění před tím, než náš poskytovatel vydá fixaci, od zpoždění v CustomLocationDataSource nebo jeho zobrazení na obrazovce? Animuje nebo interpoluje LocationDisplay příchozí pozice?
Pro externí přijímače, které neposkytují NMEA, je CustomLocationDataSource doporučený přístup? Kromě základního příkladu, jaké rady nám můžete dát pro produkční implementaci řešící čerstvost fixací, chybějící měření, opětovná připojení a proměnlivé frekvence aktualizací?