2010-06-29 2 views
0

Проект, над которым я работаю, требует от меня найти перекрестки вблизи точки (поиск слоя центральной линии улицы). Для 90%% моих запросов я, кажется, получаю соответствующие результаты, однако в некоторых случаях я получаю пересечения, которые являются технически пересечениями, чем ArcObjects, но не настолько, насколько мне нужно.Как найти множественные результаты пересечения через ReverseGeoCoding в ArcObjects?

В качестве примера, если я ищу пересечение, ближайшее к определенной точке на S. Main St, я должен получить пересечение S. Main St & First St. Однако это пересечение является пересечением N Main St, S. Main St, W. First St и E. First St.. В результате этого, когда я делаю обратный геокод в точке поиска пересечений, я получаю единственный результат N. Main St & S Main St.

Есть ли способ получить все пересечения в этой же точке, а не только одно пересечение? Если нет, есть ли способ фильтровать доступные результаты?

Мой текущий код ниже - это то, что заканчивается значением N. Main & S. Main в переменной intersectionName.

ILocatorManager2 locMgr = new LocatorManagerClass(); 
ILocatorWorkspace locWorkspace = locMgr.GetLocatorWorkspace(this.wksp); 

ILocator locator = locWorkspace.GetLocator("Streets_AddressLocator"); 

if (locator == null) 
     return string.Empty; 

IReverseGeocoding reverseGeo = locator as IReverseGeocoding; 
IReverseGeocodingProperties reverseProps = reverseGeo as IReverseGeocodingProperties; 
reverseProps.SearchDistance = 500; 
reverseProps.SearchDistanceUnits = esriUnits.esriMeters; 

IIntersectionGeocoding intersect = locator as IIntersectionGeocoding; 

try 
{ 
     IPropertySet propSet = reverseGeo.ReverseGeocode(pnt, true); 
     intersectionName = propSet.GetProperty("Street").ToString(); 
}... 

ответ

0

Предполагая, что ваши ссылки локатора только одна ломаной featureclass (т.е. не составной локатор) Я хотел бы попробовать заменить reversegeocoder с пространственным поиском против полилинии featureclass (IFeatureClass.Search) с spatialfilter на основе 500 счетчик поиска.

Смежные вопросы