Проект, над которым я работаю, требует от меня найти перекрестки вблизи точки (поиск слоя центральной линии улицы). Для 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();
}...