如果我有一个点和一个道路网,我如何在路上找到最近的点?也就是说,这就像将点击到线/路上一样。
我正在将ArcGis服务器9.3与Java 5和Oracle 10g一起使用。我通过java api使用ST函数和NetworkAnalyst。
感谢。
答案 0 :(得分:0)
应该从线条或曲线创建网络的各个部分。因此,其每个功能都必须继承实现方法ICurve
的接口queryPointAndDistance()
。使用该方法和您的观点,您应该获得您想要的每个特征的最近点。
如果要查找最近的要素,则必须遍历要素集合(例如,之前已跟踪过)并比较每个要素的distanceFromCurve
参数。请参阅JavaDoc:http://resources.esri.com/help/9.3/arcgisengine/java/api/arcobjects/com/esri/arcgis/geometry/ICurve.html。
答案 1 :(得分:0)
使用INALocator.queryLocationBypoint()。您可以从NAContext创建NALocator。将该点传递给定位器,它会将该点“捕捉”到道路网络。
网址按钮无效。链接到JavaDoc是http://resources.esri.com/help/9.3/ArcGISengine/java/api/arcobjects/com/esri/arcgis/networkanalyst/INALocator.html#queryLocationByPoint(com.esri.arcgis.geometry.IPoint,com.esri.arcgis.networkanalyst.INALocation [],com.esri.arcgis.geometry.IPoint [],double [])