При определении минимального расстояния между объектами с помощью функции
иногда возникает ситуация, когда линейные объекты пересекаются, соответственно расстояние =0, но в point1 и point2 тоже все нули, вот пример
дуга графа дорог 1832 пересекает реку 992 (линейный объект), (x1,x2) - из point1 (x2,y3) - из point2.
Так и задумывалось для пересекающихся объектов?
Также нули в point1 и point2 возвращаются если, например, дуга графа дорог лежит внутри площадного объекта (леса).
И как эти ситуации различать между собой?
| Код |
|---|
// Определение кратчайшего расстояния между объектами и координат // точек на контурах объектов // hobj1 - идентификатор первого объекта карты в памяти // hobj2 - идентификатор второго объекта карты в памяти // point1 - координаты первой точки линии кратчайшего расстояния // между объектами (на объекте hobj1) // point2 - координаты второй точки линии кратчайшего расстояния // между объектами (на объекте hobj2) // Возвращает вычисленное расстояние в метрах // или большое значение (>= 100000000) в случае ошибки _MAPIMP double _MAPAPI mapDistanceObjectEx(HOBJ hobj1, HOBJ hobj2, DOUBLEPOINT * point1, DOUBLEPOINT * point2); |
дуга графа дорог 1832 пересекает реку 992 (линейный объект), (x1,x2) - из point1 (x2,y3) - из point2.
Так и задумывалось для пересекающихся объектов?
Также нули в point1 и point2 возвращаются если, например, дуга графа дорог лежит внутри площадного объекта (леса).
И как эти ситуации различать между собой?