/** * 向全局变量中添加图层 * * @param FilePath shapefile的全路径数组 <br> * 若当前项目中已有此路径,则不添加 */ public void AddShapeLayers(String[] FilePath) { LayerSourceData data[] = new LayerSourceDao().createFromLayerPaths(ProInfo.getData().getPID(), FilePath); for (LayerSourceData temp : data) { ProInfo.AddLayerSourceData(temp); } }
/** * 在当前项目信息中按照图层名称(或全路径)查找图层ID * * @param layername 待搜索的图层的名称或文件全路径 <br> * 本方法不涉及数据库,仅在全局变量中搜索 * @return 若查找失败则返回-1; */ public int findLIDbuLayerName(String layername) { for (LayerSourceData element : ProInfo.getLayerSourceData()) { String path = element.getLayerPath(); if (path.endsWith(layername + ".SHP") || path.equalsIgnoreCase(layername)) return element.getLID(); } return -1; }
/** * 向全局变量中添加图层 * * @param FilePath shapefile的全路径 <br> * 若当前项目中已有此路径,则不添加 */ public void AddShapeLayer(String FilePath) { LayerSourceData data = new LayerSourceDao().createFromLayerPath(ProInfo.getData().getPID(), FilePath); LogCatHelper.Log("AddShapeLayer", FilePath); ProInfo.AddLayerSourceData(data); }
/** * 在当前项目信息中按照图层名查找图层文件全路径 * * @param name 待搜索的图层名称,无后缀 * @return 若查找失败则返回“” <br> * 本方法不涉及数据库,仅在全局变量中搜索 */ public String findLayerFullPathbyName(String name) { for (LayerSourceData element : ProInfo.getLayerSourceData()) { if (element.getLayerPath().contains(name + ".shp")) return element.getLayerPath(); } return ""; }
/** * 在当前项目信息中按照图层ID查找图层文件全路径) * * @param LID 待搜索的图层LID * @return 若查找失败则返回“” <br> * 本方法不涉及数据库,仅在全局变量中搜索 */ public String findLayerPathbyLID(int LID) { for (LayerSourceData element : ProInfo.getLayerSourceData()) { if (element.getLID() == LID) return element.getLayerPath(); } return ""; }
/** 判断当前是否已经加载图层 */ public boolean IsExsitCurrentLayer() { if (ProInfo != null) return ProInfo.getLayerSourceData().size() > 0; else return false; }
/** 清除当前项目的图层信息 */ public void CleanLayers() { ProInfo.ClearLayerSourceData(); }
/** 获取当前项目中的所有shapefile文件的文件全路径 */ public String[] getShapeFileFullPath() { return new LayerSourceDao().extractLayerFullPathNotpk(ProInfo.getLayerSourceData()); }