如果我有一个点和一个道路网络,我如何找到道路上最近的点?即这就像将点捕捉到一条线/道路。
我正在使用带有 Java 5 和 Oracle 10g 的 ArcGis 服务器 9.3。我正在通过 java api 使用 ST 函数和 NetworkAnalyst。
谢谢。
使用INALocator.queryLocationBypoint()。你可以从你的 NAContext 创建一个 NALocator。将点传递给定位器,它会将点“捕捉”到道路网络。
URL 按钮不起作用。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[])
网络的各个部分应由直线或曲线创建。因此,它的每一个特性都必须继承ICurve
实现方法的接口queryPointAndDistance()
。使用该方法和您的观点,您应该在您想要的每个特征上获得最近的点。
如果你想找出最近的特征,你必须遍历特征的集合(例如你之前跟踪过的)并比较distanceFromCurve
每个特征的参数。请参阅 JavaDoc: http: //resources.esri.com/help/9.3/arcgisengine/java/api/arcobjects/com/esri/arcgis/geometry/ICurve.html。