Monthly Archives: June 2006

黄健翔

昨天看意大利和澳大利亚的比赛,其实感觉比赛并不是很精彩,上半场打的比较保守,整场的有效射门也不多。解说员黄健翔也显得无精打采,讲不出什么名堂,只记得有些废话是重复了好多次。到结束前半分钟,意大利突然得到一个点球的机会,很惊讶地听到黄激动的声音。这是一个中国的主持人吗?“伟 大的意大利,伟大的中后卫……”,甚至“意大利万岁”都出来了。我就在想,这个黄从小到现在,不知道喊过“中国万岁”没有? 他真应该去做意大利人。然后居然听到澳大利亚“滚回家”的话,真不敢相信。
铁杆球迷也罢,黄的身份是解说员,全世界数十亿人可能都被强迫听这个声音,意大利球迷也许听了高兴,但澳大利来球迷呢? 做为解说员应该保持一种中立的立场,如果做不到,那么请辞去这个解说员的位置,尽兴做你的球迷去吧。
我也为意大利最终胜利高兴,我也不喜欢澳大利亚队,但我反感的是这样的解说员,居然还是央视体育台的金牌解说员? 算了,饶了大家吧。

南宅影像图

最近google Earth更新了一些数据,浏览到我家的时候,发现可能是由于附近有个海事边哨,覆盖我老家的是一景分辨率较高的影像(估计是QuickBird这类),可以分辨到我们家的屋顶,剪裁下来与大家共享。

IMapPtr在vc里编译提示没定义

上午有人问在他的MFC程序里,为什么IMapPtr不能用,在编译的时候说没定义。
首先我们要明白IMapPtr是什么东西,在COM里,有一种叫智能指针(smart pointer),通过此类指针,COM可以安全地构造和析构。一般通过_COM_SMARTPTR_TYPEDEF(<interface>, __uuidof(<interface>))宏来定义,对IMap扩展后相当于:
typedef _com_ptr_t<_com_IIID<IMap, __uuidof(IMap)>> IMapPtr;
这部分工作在vc里导入 type library时完成,vc通过 #import来完成,import会自动生成 .tlh和.tli,这些typedef即在 .tlh里定义。
在ArcEngine编程中,一般在vc环境设置中include进 ArcSDK.h,和*.olb所在目录,在stdafx.h里增加 #include <ArcSDK.h>后,就可以在代码中直接用象IMapPtr这类指针了。
包括ArcSDK.h时要求事先定义ESRI_WINDOWS,这样arcsdk.h事实是调用 windows_sdk.h,编译时可能会有一些警告,可以忽略,或者通过#pragma warning(disable : 4192) 来忽略特定的警告。
 
如果上述工作后仍有问题,你应该有理由怀疑你的ArcEngine安装可能不完整了。

无线局域网

买了一个D-LINK 45m的无线路由器,扩展了项目办公室已有的有线网
试了一下由无线router接Internet,再级联交换机已有局域网,速度不甚理想
改成由无线router来扩展现有有线网,并禁止了DHCP,使得有线网和无线网可以共享打印机(无线网也静态配置成有线网一样的内部地址,由有线网的网关连接到Internet)

南师大访问

结束了两天南师大的访问。上次LU教授访兰时无缘听他的报告,这次终于听到他对模型集成,建模环境的一些看法,很有启示。也有机会亲身体会了他们项目组的工作方式和工作态度,很多方面我们可以借鉴。

Dell Axim与Sony SZ笔记本通过蓝牙 ActiveSync

好像网上的资料一下子也不好找,我是走了不少的弯路,总结如下:
1. 打开Dell Axim v51的蓝牙连接,标记成可被发现;打开sony笔记本的无线设置(wireless on)。
1.1 Dell Axim,打开Bluetooth设置,在端口号新建接收COM,选COM8;

2. 打开sony自带的BlueTooth设置,新建连接,选用“快速模式(推荐)”,一直Next,默认连接是选用com40。注意这是Bluetooth settings的com号,而不是bt server的com号,所以不必在20以下(activesync要求com号必须是20以下)
3. 控制面板,打开Bluetooth本地COM,可以发现 COM7是 localCOM-Server用的端口
4. 打开microsoft activeSync的连接设置,允许连接到 COM7 (host上的server com号),确定
5. Dell Axim,打开activeSync,菜单,使用Bluetooth进行连接,会提示说没有合作关系,新建,选是。这时会进入新建合作向导,经过搜索,会发现sony机器(host),如果提示要密钥,无论在axim上还是laptop上都输入初始pin码,1234。这时在sony laptop的服务列表里应该有activeSync,保存,即可。如果只出现端号服务,手工增加发送端口,并设置为COM7,再试。一般就可以找到laptop的activeSync服务。
6. Dell Axim,activeSync里使用Bluetooth连接,这时如果已有合适的合作关系(partner relationship),就可以进行连接了。
7. 此后就是正常的activeSync流程。

完成了gimms-clip

作为了一个Qt的训练,主要是完成一个GIMMS数据集(ftp://ftp.glcf.umiacs.umd.edu/glcf/GIMMS/)的空间裁剪功能,特色在于:
  • Qt实现跨平台,国际化等功能
  • 调用GDAL完成多种GIS格式的转换
  • 可变线程来处理整个裁剪流程

完成了v1.0,可能暂时到止,以后有兴趣了,可以在此基础上再增加一些小功能,比如引进xml,将用户的配置记住等等(当然可以用QSettings,但锻炼一下学生的xml也是不错的)

放一个截图吧,已经本地化

 

——

前面有朋友问为什么在windows下不用mfc,我最早应该是mfc出身的,但接触的科研项目大多对操作平台有要求,国外很多学者仍是用linux/unix环境来进行科学研究,于是开始寻找一种可以跨平台的而且对于我来讲比较易学的工具(c/c++/c#背景),Qt当然是个不错的选择,只是Qt/win稍贵了一些