2

我有我们的州边界形状文件,我想使用 java 的 openmap api 从该文件中读取信息。还可以找到给定城市 50 英里范围内的州。我该怎么做?

4

1 回答 1

0

如果您只想以编程方式检查文件的内容,可以使用 com.bbn.openmap.dataAccess.shape.EsriGraphicList 从形状文件中读取信息。有一个静态 getGraphicList(...) 方法将加载存储在 dbf 文件中的形状和属性。

如果要显示文件的内容,请使用 com.bbn.openmap.layer.shape.ShapeLayer。

要对形状文件的内容进行空间分析,您需要使用 com.bbn.openmap.geo 包进行一些编程工作:

  1. 创建一个 ExtentIndex,它将是 GeoExtent 的集合。
  2. 从 EsriGraphicList EsriPolygons 创建 GeoRegions,将它们添加到 ExtentIndex。
  3. 为您要测试的城市创建 GeoPoint。
  4. 创建与 MatchParameters 为 Length.MILE.toRadians(50) 的交集。
  5. 调用 intersection.considerPointXRegions(GeoPoint, ExtentIndex);
  6. 调用 intersection.getCollector().iterator() 获取结果。
于 2010-08-09T15:23:10.397 回答