Corrección de errores
- HDMAPMDK-1215 completado
- HDMAPMDK-1218 Completado
Revisa el diario de trabajo de 2020 día a día.
61 则 第 5 / 7 页
HDMAPMDK-1132 Tracing de ID en los extremos de las líneas de carril de señales verticales
El problema de tracing que enfrentan los extremos de las líneas de carril de señales verticales es mucho más simple en comparación con el tracing de objetos lineales. Solo implica un mapeo de ID, sin mapeo de offset ni de longitud.
Sin embargo, también hay que considerar varios aspectos:
En esencia, la raíz del problema radica en que al definir los ID utilizamos todos Long ID, mientras que en la definición de MDM se emplean Int, lo que puede provocar problemas de desbordamiento.
Bugfix: HDMAPMDK-1211 Solución encontrada
Se puede ver que cuando el cambio de carril aún no ha finalizado (la línea central del carril está cruzando la línea de carril), ya se ha realizado la segmentación, y esta segmentación puede cruzar el Rp.
Dado que la información de observación de los bordes de carril (lane border) adjunta a los puntos de forma de la línea central del carril (lanecenter) registra fielmente las líneas de carril a ambos lados mediante el método de línea de exploración (scan line), según la geometría, sin filtrar según la semántica. Por lo tanto, en la posición donde la línea de carril cruza el carril, la línea central del carril que intersecta la línea de carril registrará esta línea de carril en ambas referencias de borde de carril izquierdo y derecho.
Bajo la lógica de código existente, al filtrar la referencia de borde de carril de la línea de carril intersectante según la semántica, se infiere la referencia de borde de carril que se debe eliminar según el tipo de cambio de carril.
La lógica actual falla cuando se encuentra con este tipo de segmentación, lo que provoca este problema.
El punto central es encontrar la tendencia de cambio de carril de la línea de carril intersectante. Teniendo en cuenta que este tipo de segmentación puede cruzar Rp, el filtrado no debe realizarse por unidades de Rp.
Se lo asigné a Ziliang.
Una persona entrevistada no pasó.
El problema principal de PolyLine radica en la posibilidad de que se introduzcan puntos duplicados durante la generación, lo que provoca una serie de problemas en los cálculos geométricos relacionados con segmentos:
Por lo tanto, al construir PolyLine, se verifica cada punto; si se encuentra un punto duplicado, se lanza una excepción.
Se detectaron los siguientes problemas:
Problema con getEnd en Jts.
Problema de normalización en LinearLocation de Jts.
val loc1 = new LinearLocation(0, 1, 1.0)
val loc2 = new LinearLocation(0, 2, 0.0)
loc1 compareTo loc2
// the output is -1
Durante la interpolación, puede haber casos en los que se tomen dos puntos demasiado cercanos.
new, no se llamó a delete.update current position, Map Kit invocó prepareGuidanceData con el objetivo de encontrar los datos de guía más cercanos a la posición actual.prepareGuidanceData llamó a NavInfoProviderImpl::getTrafficLights y NavInfoProviderImpl::getCarParks.NavInfoProviderImpl::getTrafficLights como ejemplo, al llamarlo se crea un puntero a los datos de NaviEventOnPath con new.delete.DestEvent presenta este problema.Solución: El núcleo es no permitir la existencia de punteros salvajes, por lo que se decide refactorizar NaviEventProvider.
traffic_light_events y car_park_events en NaviInfoProvider.NaviInfoGenerator, actualizar estos dos campos después de que la ruta se actualice (route updated).get, filtrar según la posición actual del vehículo.PathReader::getAttributes, ya que la implementación anterior solo consideraba el desplazamiento relativo al vehículo actual. Ahora se necesita una interfaz de desplazamiento relativo a la ruta (Path).Me tomé medio día para el examen teórico de conducir.
Problema de ancho HDMAPMDK-1130, tres problemas:
Reparación de HDMAPMDK-1121.
Estado muy malo.