网友投稿 | 设为首页 | 加入收藏
1/1页1 跳转到查看:3022
回复该主题 发新话题
键盘左右键可以进行前后翻页操作
帮助

影像叠加出现问题,老蔡及众大侠们救我!

影像叠加出现问题,老蔡及众大侠们救我!

自己用“dstile howto”中介绍的办法,处理了几付影像图放到ww中,图片中间的部分显示都是正常的,但是影像的边缘部分却像掉下去了一样似的被拉长了,怀疑是不是地形出现了问题?是不是修改不让ww显示地形就会解决这个问题?如何修改?希望各位大侠能够救救小弟!!!此主题相关图片


TOP

 

re:[QUOTE][b]下面引用由[u]哈皮...

下面引用由哈皮发表的内容:



自己用“dstile howto”中介绍的办法,处理了几付影像图放到ww中,图片中间的部分显示都是正常的,但是影像的边缘部分却像掉下去了一样似的被拉长了,怀疑是不是地形出现了问题?是不是修改不让ww显...


应该是地形出了问题,

关闭地形很简单,在View的下拉菜单的Vertical Exaggeration中选择0就OK

但这不是更本

有2种可能:

1.SRTM下的时侯没下全数据------------删除重下

找SRTM的方法:

当前的lat,lon,zoom

文件夹=lat/(180/20*2的zoom次方)

文件号=lat/(9*2的zoom次方)“—”lon/(18*2的zoom次方).bil

2.NASA的SRTM数据有缺陷--------------这个就没办法,只有把SRTM的级别放大

既修改

:\Program Files\NASA\World Wind 1.4\Config\Earth.xml文件

     <TerrainAccessor Name="SRTM">

           <TerrainTileService>

                 <ServerUrl>http://worldwind25.arc.nasa.gov/wwelevation/wwelevation.aspx<;/ServerUrl>

                 <DataSetName>srtm30pluszip</DataSetName>

                 <LevelZeroTileSizeDegrees>20.0</LevelZeroTileSizeDegrees>

                 <NumberLevels>11</NumberLevels>--------改这个数字                  <SamplesPerTile>150</SamplesPerTile>

                 <DataFormat>Int16</DataFormat>

                 <FileExtension>bil</FileExtension>

                 <CompressonType>zip</CompressonType>

           </TerrainTileService>

TOP

 

re:搞定!多谢老蔡!

搞定!多谢老蔡!

TOP

 

曾经研究过上面算式.下面是关键C#代码,需要完整的给我留言我发邮件给(不会上传:()

private void button_convert_Click(object sender, System.EventArgs e)

{

     textBox_Y.Text = ((int)getY(Convert.ToDouble(textBox_lat.Text),Convert.ToInt32(textBox_layer.Text),Convert.ToDouble(textBox_LZD.Text))).ToString();

     textBox_X.Text = ((int)getX(Convert.ToDouble(textBox_lon.Text),Convert.ToInt32(textBox_layer.Text),Convert.ToDouble(textBox_LZD.Text))).ToString();

     textBox_filename.Text = textBox_Y.Text + "_" + textBox_X.Text;

}



private double getY(double lat,int N, double LZD)

{

     double returndouble;

     returndouble = (lat+90)/LZD*Math.Pow(2,Convert.ToDouble(N));

     return returndouble;

}



private double getX(double lon,int N, double LZD)

{

     double returndouble;

     returndouble = (lon+180)/LZD*Math.Pow(2,Convert.ToDouble(N));

     return returndouble;

}

TOP

 

re:深奥

深奥

TOP

 
1/1页1 跳转到
回复该主题 发表新主题
  <<上一主题 | 下一主题>>