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

最佳答案

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

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

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


创建一个ExtentIndex,它将是GeoExtents的集合。
从EsriGraphicList EsriPolygons创建GeoRegions,然后将它们添加到ExtentIndex。
为您要测试的城市创建GeoPoint。
创建匹配参数为Length.MILE.toRadians(50)的交叉点。
调用cross.considerPointXRegions(GeoPoint,ExtentIndex);
调用cross.getCollector()。iterator()以获得结果。

关于java - 具有openmap的shapefile,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3350134/

10-09 19:36