|
阅读:1948回复:5
[求助]用什么软件可读取CNSDTF格式的DEM数据
<P>[求助]用什么软件可读取CNSDTF格式的DEM数据?</P>
<P> 如何将读取的dem数据转换为影像文件?</P> <P> 万分感谢!</P> <P> <a href="mailtChinaNetSource@126.com" target="_blank" >ChinaNetSource@126.com</A></P> |
|
|
1楼#
发布于:2004-08-18 10:00
<P>CNSDTF格式的DEM数据</P><P>不是国产的dem数据标准吗</P><P>国产gis 软件应该都可以</P><P>不过你先用arcgis或者erdas打开看看,毕竟也是国际标准的dem,打开应该没问题的</P>
|
|
|
|
2楼#
发布于:2004-08-18 10:12
<P>关于<b>中华人民共和国国家标准地球空间数据交换格式</b></P><P><b>我已经放到了论文中心里面了</b></P><P><a href="http://www.gisempire.com/gis/Show_Art.asp?ID=172" target="_blank" >http://www.gisempire.com/gis/Show_Art.asp?ID=172</A></P><P>有兴趣的可以去看看</P><P>希望对你有帮助</P>
|
|
|
|
3楼#
发布于:2004-08-19 08:03
谢谢,学习先<img src="images/post/smile/dvbbs/em04.gif" /><img src="images/post/smile/dvbbs/em04.gif" />
|
|
|
|
4楼#
发布于:2004-08-19 12:49
非常感谢
|
|
|
5楼#
发布于:2007-10-30 12:13
<TABLE fixed">
<TR> <TD> <DIV class=cnt> <P>下面这段程序可以读取CNSDTF DEM</P> <P>std::locale::global(std::locale(""));</P> <P> ifstream _demfile; //DEM文件流<BR> _demfile.open(lpszPathName); //读取文件<BR> <BR> string sDataName,sCNDataName;<BR> string sVersion;float iVersion;<BR> string sAlpha;float fAlpha;<BR> string sUnit; string sUnitName;<BR> string sCompress; float dCompress;<BR> string sX0; double dX0;<BR> string sY0; double dY0;<BR> string sDX; double dDX;<BR> string sDY; double dDY;<BR> string sRow; int iRows;<BR> string sColumn; int iColumns;<BR> string sValueTypeName; string sValueType;<BR> string sHzoom; int iHzoom;<BR> string sMinV;<BR> string sMaxV;</P> <P> if(_demfile)<BR> {<BR> _demfile>>sDataName>>sCNDataName;<BR> _demfile>>sVersion>>iVersion;<BR> _demfile>>sAlpha>>fAlpha;<BR> _demfile>>sUnit>>sUnitName;<BR> _demfile>>sCompress>>dCompress;<BR> _demfile>>sX0>>dX0;<BR> _demfile>>sY0>>dY0;<BR> _demfile>>sDX>>dDX;<BR> _demfile>>sDY>>dDY;<BR> _demfile>>sRow>>iRows;<BR> _demfile>>sColumn>>iColumns;<BR> _demfile>>sValueTypeName>>sValueType;<BR> _demfile>>sHzoom>>iHzoom;<BR> _demfile>>sMinV;<BR> _demfile>>sMaxV;</P> <P> }<BR> else <BR> {<BR> AfxMessageBox("无法读取文件数据头!");<BR> return false;<BR> }<BR> dY0 = dY0 - dDY*iRows; //从文件中读取的dYO记录的是最大数值<BR> long index = 0,PointsTotalNumber = 0;<BR> int i,j;<BR> double tmpHeight = 0;<BR> <BR> POINT3d* p3dDEMGridPoint = new POINT3d[iRows*iColumns]; //准备读文件中数据<BR> <BR> double dNodata = -99999;<BR> double dZMin = 9999,dZMax = -9999;<BR> for(j=iRows-1;j>=0;j--) //由于此文件记录Y数值的方法与其他不同,需要翻转数据<BR> {<BR> for(i=0;i<iColumns;i++)<BR> {<BR> index = j*iColumns+i;<BR> _demfile>>tmpHeight;<BR> if(iHzoom != 0) tmpHeight = tmpHeight/iHzoom; //原始的缩放因子<BR> p3dDEMGridPoint[index][2] = tmpHeight;<BR> <BR> if( tmpHeight > -9999) //也就是不等于 dNodata<BR> {<BR> if(dZMin > tmpHeight) dZMin = tmpHeight; //记录高程上的最小数值<BR> if(dZMax < tmpHeight) dZMax = tmpHeight; //记录高程上的最大数值<BR> }<BR> <BR> }<BR>}</P></DIV></TD></TR></TABLE>可以 参考 <a href="http://hi.baidu.com/wuhanhoutao" target="_blank" >http://hi.baidu.com/wuhanhoutao</A> |
|