本文中World Wind的GitHub源码下载地址:https://github.com/hujiulin/WorldWind

美国国家航空航天局(National Aeronautics and Space Administration, NASA)主导的World Wind是全球开发人员共同参与研发的一个开源地理信息系统项目。由NASA Research开发,NASA Learning Technologies来发展,将地球的卫星、电子、地形地图以及其他地理数据通过一个三维的数字化的地球进行展示,旨在面向各行业的数据集成,支持WMS、WFS、WTMS等服务,是一款非常优秀的三维客户端框架绘制引擎。它使用了XML对数据进行描述和设置,具有良好的通用性和扩展性。World Wind目前有基于.NET和Java开发的两种版本。World Wind除了三维地球的基础功能之外,还具有很强的可扩展性,具有多种功能性插件,支持谷歌、微软等发布的地图(卫星、电子、地形)数据。

本文主要解决了World Wind编译、运行、中文乱码等问题。

[1].源码的下载,环境的配置,源码的编译[使用国际网络,以防网络不能访问]

源码的下载:

WorldWind分为.Net和java两种版本,Nasa的官方网站是:http://worldwind.arc.nasa.gov/java/

提供java版本的源码下载。

.Net版本的源码下载:

http://worldwind31.arc.nasa.gov/svn/trunk/WorldWind/

这里提供的是svn,建议用svn进行download

备注:上述SVN是通过http://www.worldwindcentral.com/wiki/Source_code 维基百科找到的。

环境的配置:

1. 需要提前装好DirectX9

源码的编译:

1.乱码:会发现很多字符串相关的语法错误。文件编码引起

在VS的解决方案管理器里右键文件

选“打开方式”,

选“带编码功能的CSharp编辑器”

选“西欧(windows)-代码页 1252”

打开文件,无乱码

文件菜单文件的保存编码改成UTF8,再保存源码文件

备注:受影响的文件有6个左右

2. LoaderLock问题:

菜单(调试-》异常)——》异常窗口 ——》ManagerDebuggingAssistants ——》去掉LoaderLock选项

3. 注册表权限问题:

打开HtmlEditor项目的属性,取消“生成(Build )”选项卡的为COM互操作注册(’Register for COM interop’)前的勾选

4.开始运行程序,发现一切正常,但是从初始化界面到程序本身需要等待较长的时间,这是因为中国连不上worldwind的服务器造成的原因,worldwind自己也提供离线模式,亦可以修改xml中wms服务器的url。此处暂时采用的办法是注释掉以下两行代码:

Worldwind->PluginSDK->ConfigurationLoader.cs中:

262行:

321行:

5. 运行程序,加载Initializing的画面错位

通过调试发现在worldwind.cs中的public MainApplication()中[563行],

使用splash窗体。

Splash窗体:

Splash构造函数

可以看到picturebox的代码注释,而且窗体上并无picturebox的控件。

使用的是 属性。

将图片调整成如图所示的样子,启动程序正常。

决定将源码备份到百度网盘和自己的svn服务器上。[百度的服务器上没上传成功]

刚才迁移了worldwind的源码,出现一个问题:

重新生成,清理项目都没有用。

解决方法:

删除该文件:

删除之后,需重新配置:

问题解决。

备注:第一次运行程序时,稍微需要等下。

如果缺少引用:AVIFile.dll FlickrNel.dll等引用,请将Release模式切换为Debug,即可完全编译运行通过。[当然具体原因是需要将对应dll拷贝到Release目录下。]

在解决乱码问题的时候,部分人遇到一个情况:主界面显示度数的地方会形成“掳”这样的乱码,这是因为乱码问题并没得到完全解决,请在“高级选项保存”时选择:带签名的UTF-8保存即可解决该问题。

乱码的文件有:

Project File
WorldWind Compass3D.cs
WorldWind GPSTrackerPlugin.WorldWind.cs
WorldWindow WorldWindow.cs
PluginSDK ConfigurationLoader.cs
PluginSDK Angle.cs

乱码问题全部解决:

今天将svn上的代码,迁移到x64的机器上编译,程序不能运行,调试模式下看到错误:

“未处理的“System.BadImageFormatException”类型的异常”

解决方式:

Any CPU或者x64模式-》改成x86,然后将output path改成与“..\bin\Debug\”

重新生成解决方案,编译运行即可成功:

参考链接:http://cesiumcn.org/topic/206.html | 国内快速访问:http://cesium.coinidea.com/topic/206.html

最新文章

  1. jQuery中Animate进阶用法(一)
  2. 通过url获取图片尺寸的几种方法:JS和php
  3. SQL中的多表查询,以及JOIN的顺序重要么?
  4. python 安装mysql-python模块
  5. 清理Oracle安装目录里的一些日志信息
  6. [算法]树上倍增求LCA
  7. 论文笔记之:Playing for Data: Ground Truth from Computer Games
  8. hdu 1316 How Many Fibs?
  9. 《UCD火花集1-2》读后感
  10. ios中@class和 #import,两种方式的讨论
  11. 使用dispatch_group实现并封装分组并发网络请求
  12. java_设计模式_组合模式_Composite Pattern(2016-08-12)
  13. 为何要fork()两次来避免产生僵尸进程??
  14. XML约束
  15. 14.8.3 Identifying the File Format in Use 确认使用的文件格式;
  16. smtp模块使用
  17. Python基于dtw实现股票预测【多线程】
  18. Echarts x轴文本内容太长的几种解决方案
  19. UITextField 基本设置
  20. 《MySQL必知必会》[07] 管理事务处理

热门文章

  1. 逆波兰(非与或)表达式原理及C++代码实现
  2. 【LeetCode】172. Factorial Trailing Zeroes 解题报告(Java & Python)
  3. 【LeetCode】463. Island Perimeter 解题报告(Python)
  4. 【LeetCode】462. Minimum Moves to Equal Array Elements II 解题报告(Python & C++)
  5. 序列化之serialVersionUID
  6. 自动化集成:Docker容器入门简介
  7. Hive on Spark和Spark sql on Hive,你能分的清楚么
  8. Java链式调用
  9. Storm对DRPC权限控制Version1.0.1
  10. Windows下安装配置jdk