Имеется слой дорог Polylines и слой адресов Multipoint. Задача - проставить точки в новом слое в местах, где ближайшая дорога наиболее близка к адресу. Данные хранятся в ArcSDE 9.1
Алгоритм примерно следующий. Прохожусь по всем точкам и для каждой вызываю nearestFeature интерфейса IIndexQuery2 чтобы найти ближайшую дорогу. По возвращаемому OID получаю дорогу как IPolyline и на этом интерфейсе вызываю queryPointAndDistance чтобы получить ближайшую точку на линии, которая является ближайшей к нашей точке. Потом на третьем слое создаю новую запись и сохраняю полученную точку. Все слои имеют одинаковый SpatialReference. Точки находятся. Но когда я открываю третий, полученный слой, то все точки немного не совпадают с границей дорог.
Потом я использовал для этой цели не ArcSDE, а shp-файлы и всё нормально сохранилось и отобразилось - все точки на своих местах. Правда немного нужно править код, поскольку в Shp-файлах не Multipoint, а просто Point, но сути не меняет.
Кто-нибудь может подсказать в чём может быть проблема? Куда копать?