我是靠谱客的博主 忧心路灯,这篇文章主要介绍java 读取shape文件夹,java获取shape文件面积,现在分享给大家,希望可以做个参考。

初始化AE运行环境

public static void initializeAE() {

EngineInitializer.initializeEngine();

try {

AoInitialize aoInit = new AoInitialize();

try {

if (aoInit.isProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeEngine) == esriLicenseStatus.esriLicenseAvailable)

aoInit.initialize(esriLicenseProductCode.esriLicenseProductCodeEngine);

else if (aoInit.isProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeArcView) == esriLicenseStatus.esriLicenseAvailable)

aoInit.initialize(esriLicenseProductCode.esriLicenseProductCodeArcView);

else {

System.err.println("请检查,没有ArcGISLicenses.");

}

} catch (Exception e) {

e.printStackTrace();

}

} catch (Exception e) {

e.printStackTrace();

}

}获取featureclass

public static FeatureClass getFeatureClassByShpfileWorkspaceFactory(String path, String name) throws IOException {

FeatureClass featureClass = null;

try {

ShapefileWorkspaceFactory shapefileWorkspaceFactory = new ShapefileWorkspaceFactory();

Workspace workspace = new Workspace(shapefileWorkspaceFactory.openFromFile(path, 0));

featureClass = new FeatureClass(workspace.openFeatureClass(name));

} catch (IOException e) {

throw e;

}

return featureClass;

}

计算shape文件中面的面积

/**

* 获取shape文件面类型的面积

* @param featureClass

* @param type

* @return

*/

public Double getShapeArea (FeatureClass featureClass, String type) {

Double allArea = 0d;

try {

IQueryFilter pQueryFilter = new QueryFilter();

int featureCount = featureClass.featureCount(pQueryFilter);

if(type.equals("polygon")){

for (int i = 0; i < featureCount; i++) {

IGeometry ig = featureClass.getFeature(i).getShape();

Polygon polygon = (Polygon) ig;

polygon.getArea();

}

}

} catch (AutomationException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally {

com.esri.arcgis.system.EngineInitializer.release(featureClass);

}

return allArea;

}

最后

以上就是忧心路灯最近收集整理的关于java 读取shape文件夹,java获取shape文件面积的全部内容,更多相关java内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部