Ons Android-project gebruikt momenteel ArcGIS Maps SDK voor Kotlin 300.0.0. We gebruiken CustomLocationDataSource om fixes van externe GNSS-ontvangers weer te geven, inclusief ontvangers die gedecodeerde locatiegegevens leveren in plaats van NMEA-zinnen.
We onderzoeken meldingen van vertraagde kaartpositie-updates en inconsistenties in positie of nauwkeurigheid bij gebruik van externe GPS. We willen onze aangepaste provider valideren ten opzichte van het beoogde SDK-contract; we hebben nog niet vastgesteld dat de SDK deze symptomen veroorzaakt.
Onze CustomLocationDataSource.LocationProvider levert aparte Flow<Location> en Flow<Double>-stromen. We converteren elke externe Android-locatie naar een ArcGIS-locatie met WGS84-coördinaten, horizontale en verticale nauwkeurigheid, snelheid en koers. Voor externe ontvangers wordt de heading-stroom afgeleid van de bearing van de fix. Onze Location.create-aanroep geeft de oorspronkelijke fix-tijdstempel van de ontvanger niet expliciet door. Sommige niet-beschikbare of ongeldige nauwkeurigheids- en bewegingswaarden worden momenteel omgezet naar 0.
Kunt u ons adviseren over het volgende?
- Hoe moet een aangepaste bron onbeschikbare nauwkeurigheid, snelheid, koers of heading weergeven? Kan het gebruik van 0 voor een ontbrekende meting invloed hebben op hoe LocationDisplay een fix behandelt?
- Hoe moeten we de oorspronkelijke fix-tijd van de ontvanger behouden of valideren? Moet de provider verouderde of niet-op-volgorde zijnde fixes weggooien voordat ze worden uitgezonden, vooral na een herverbinding of bronwijziging?
- Is het afleiden van de aparte heading-stroom uit de bearing van de fix geschikt? Zijn er volgorde- of synchronisatievereisten tussen de locatie- en heading-stromen?
- Welke buffering-, updatefrequentie- of instrumentatierichtlijnen kunnen ons helpen om vertragingen vóór het uitzenden van een fix door onze provider te onderscheiden van vertragingen in CustomLocationDataSource of de weergave op het scherm? Animeert of interpoleert LocationDisplay binnenkomende posities?
Is CustomLocationDataSource de aanbevolen aanpak voor externe ontvangers die geen NMEA leveren? Welke richtlijnen kunt u ons geven voor een productie-implementatie die omgaat met fix-versheid, ontbrekende metingen, herverbindingen en variabele updatefrequenties, naast het basismodel?