我有我们的州边界形状文件,我想使用 java 的 openmap api 从该文件中读取信息。还可以找到给定城市 50 英里范围内的州。我该怎么做?
问问题
1532 次
1 回答
0
如果您只想以编程方式检查文件的内容,可以使用 com.bbn.openmap.dataAccess.shape.EsriGraphicList 从形状文件中读取信息。有一个静态 getGraphicList(...) 方法将加载存储在 dbf 文件中的形状和属性。
如果要显示文件的内容,请使用 com.bbn.openmap.layer.shape.ShapeLayer。
要对形状文件的内容进行空间分析,您需要使用 com.bbn.openmap.geo 包进行一些编程工作:
- 创建一个 ExtentIndex,它将是 GeoExtent 的集合。
- 从 EsriGraphicList EsriPolygons 创建 GeoRegions,将它们添加到 ExtentIndex。
- 为您要测试的城市创建 GeoPoint。
- 创建与 MatchParameters 为 Length.MILE.toRadians(50) 的交集。
- 调用 intersection.considerPointXRegions(GeoPoint, ExtentIndex);
- 调用 intersection.getCollector().iterator() 获取结果。
于 2010-08-09T15:23:10.397 回答