ポイントと道路網がある場合、道路上で最も近いポイントを見つけるにはどうすればよいですか? つまり、これは点を線/道路にスナップするようなものです。
Java 5 および Oracle 10g で ArcGis サーバー 9.3 を使用しています。Java API 経由で ST 関数と NetworkAnalyst を使用しています。
ありがとう。
INALocator.queryLocationBypoint()を使用します。NAContext から NALocator を作成できます。ポイントを Locator に渡すと、ポイントが道路網に「スナップ」されます。
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を参照してください。