queryPointAndDistance не вполне верно отрабатывает

0 голосов
спросил 21 Дек, 06 от Appl (1,340 баллов) в категории Программные продукты Esri

Имеется слой дорог Polylines и слой адресов Multipoint. Задача - проставить точки в новом слое в местах, где  ближайшая дорога наиболее близка к адресу. Данные хранятся в ArcSDE 9.1

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

1 Ответ

0 голосов
ответил 06 Янв, 07 от Grigoriy (127,020 баллов)
SDE хранит координаты, как целые числа. И помнит в Spatial Reference для каждого слоя точность. Посему когда Вы сохраняете полученные координаты в SDE, они ,как правило, будут отличаться от исходных, но в пределах точности.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...