我正在處理的項目需要我在一個點附近找到十字路口(搜索街道中心線圖層)。對於我的搜索量的90%以上,我似乎得到了合適的結果,但是在某些情況下,我得到的交叉點在技術上與ArcObjects相關,但不是我所需要的。作爲一個例子,如果我搜索最接近S. Main St上某個點的交點,我應該得到S. Main St的交點。然而,該交點碰巧是N Main St,S. Main St,W. First St和E. First St.由於這個原因,當我在搜索交點的點上做一個反向地理編碼時,我得到了一個單一的結果N. Main St & S 。Main St.如何通過ArcObjects中的ReverseGeoCoding查找多個相交結果?
有沒有什麼辦法讓所有的交點在同一點而不是隻有一個交點?如果沒有,有沒有辦法來過濾可用的結果?
我現在的代碼是以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();
}...