2

私は州の国境形状ファイルを用意しており、Java の openmap api を使用してそのファイルから情報を読み取り、特定の都市から 50 マイル以内の州を見つけたいと考えています。どうすればできますか?

4

1 に答える 1

0

ファイルの内容をプログラムで調べるだけの場合は、com.bbn.openmap.dataAccess.shape.EsriGraphicList を使用してシェープ ファイルから情報を読み取ることができます。dbf ファイルに格納されている形状と属性をロードする静的な getGraphicList(...) メソッドがあります。

ファイルの内容を表示したい場合は、com.bbn.openmap.layer.shape.ShapeLayer を使用します。

シェープ ファイルのコンテンツに対して空間分析を行うには、com.bbn.openmap.geo パッケージを使用して、プログラムで少し作業を行う必要があります。

  1. GeoExtents のコレクションとなる ExtentIndex を作成します。
  2. EsriGraphicList EsriPolygons から GeoRegions を作成し、それらを ExtentIndex に追加します。
  3. テストする都市の GeoPoint を作成します。
  4. Length.MILE.toRadians(50) の MatchParameters で Intersection を作成します。
  5. Intersection.considerPointXRegions(GeoPoint, ExtentIndex); を呼び出します。
  6. 結果を取得するには、intersection.getCollector().iterator() を呼び出します。
于 2010-08-09T15:23:10.397 に答える