java处理Arcgis导出的DEM栅格文件data.asc

 时间:2024-10-13 00:45:40

1、关于栅格数据文件读者可用自己的作者在百度云网盘分享了一个dataDEM.aschttp://pan.baidu.com/s/1o61C7W2

java处理Arcgis导出的DEM栅格文件data.asc

2、【新建工程】

java处理Arcgis导出的DEM栅格文件data.ascjava处理Arcgis导出的DEM栅格文件data.ascjava处理Arcgis导出的DEM栅格文件data.asc

4、【解读文件头包含的信息】包括这个文竭惮蚕斗件的行数、列数 //////////////////////////////////////////////////////////////////////////////// // //////////////////////////////////////////////////////////////////////////////// public static GridFileHead ReadGridFileHead(String filePath){ GridFileHead gridUnit=new GridFileHead(); try{ DataInputStream in=new DataInputStream(new FileInputStream(filePath)); int fileSize=512; byte []btData=new byte[fileSize]; in.read(btData); String str=new String(btData); String splitTab="\t"; String []strData=str.split("\n"); int tabIndex=strData[0].indexOf(splitTab); if(tabIndex==-1){ splitTab=" "; } String []tempData=strData[0].split(splitTab); gridUnit.ncols=Integer.parseInt(tempData[tempData.length-1].trim()); tempData=strData[1].split(splitTab); gridUnit.nrows=Integer.parseInt(tempData[tempData.length-1].trim()); tempData=strData[2].split(splitTab); gridUnit.xllcorner=Double.parseDouble(tempData[tempData.length-1].trim()); tempData=strData[3].split(splitTab); gridUnit.yllcorner=Double.parseDouble(tempData[tempData.length-1].trim()); tempData=strData[4].split(splitTab); gridUnit.cellsize=Double.parseDouble(tempData[tempData.length-1].trim()); tempData=strData[5].split(splitTab); gridUnit.NODATA_value=Integer.parseInt(tempData[tempData.length-1].trim()); in.close(); } catch(IOException ex){ ex.printStackTrace(); } return gridUnit; }

java处理Arcgis导出的DEM栅格文件data.asc

6、【将运算或者其它处理完后的二维数组老揉孟阼写入到新的文件】 //////////////////////////////////////////////////////////////////////////////// // //////////////////////////////////////////////////////////////////////////////// public static void writeDoubleArray2DtoGridFile( String filePath, double[][]arrDouble2D, GridFileHead gridFileHead ){ try{ File hFileCreate = new File(filePath); hFileCreate.createNewFile(); RandomAccessFile hFileWrite = new RandomAccessFile(filePath,"rw"); //写文件头 String strHead="ncols "+gridFileHead.ncols+"\r\n"+ "nrows "+gridFileHead.nrows+"\r\n"+ "xllcorner "+gridFileHead.xllcorner+"\r\n"+ "yllcorner "+gridFileHead.yllcorner+"\r\n"+ "cellsize "+gridFileHead.cellsize+"\r\n"+ "NODATA_value "+gridFileHead.NODATA_value+"\r\n"; hFileWrite.write((strHead).getBytes()); //写数据内容 for(int i=0;i<arrDouble2D.length;i++){ String line=""; for (int j = 0; j < arrDouble2D[i].length; j++) { line+=arrDouble2D[i][j]+" "; } line+="\r\n"; hFileWrite.write((line).getBytes()); } hFileWrite.close(); } catch (IOException e) { e.printStackTrace(); } }

java处理Arcgis导出的DEM栅格文件data.asc

8、【导出为可运行的jar文件】

java处理Arcgis导出的DEM栅格文件data.ascjava处理Arcgis导出的DEM栅格文件data.asc
  • 电脑怎么把几百个ts视频文件合并成一个
  • 修复ArcGIS图层中断开的数据链接方法
  • ArcGIS 教程之DEM( 高程)坡向分析
  • arcgis中使用Python窗口创建文件夹的方法
  • 热门搜索
    与子的乱生活 华日冰箱怎么样 怎么申请qq靓号 7月26日是什么星座 如何关闭u盘写保护 如何搭讪 tt是什么意思 阿兵的快乐生活 dp是什么意思 sing是什么意思