Yearly Archives: 2006

Delhi之行(6)

4号晚上 UNESCO官员请吃饭,见识了一下这位官员的厉害。我们在一个当地很有名的日
本餐馆,东西当然也很贵了,最后消费下来400多美金。这位官员将服务台,经理,最
后是日本厨师都喊来了,使劲教训了一通。原因我们听了可能都不以为然, 是由于大
家order的时候,服务员没有说明这份菜够不够一个人吃,有多少的量。结果呢,有几
位客人上来的菜看来只有一点点,结果补了面,rice等才够。我倒不想说这位官员是不
是比较官僚(我不清楚UNESCO这种联合国的机构,有没有实权,但如果放到北京,可能
属于谁也不敢得罪的人),倒是印度人的态度真是好,不管是不是他们的错,对客人的
指责都是接连的道歉。国内没有几个地方可以做到了。服务行业都将自己搁到太高的位
置上了。
印度的情况好象是比不上中国,整个建设都感觉很烂,马路也很糟糕,穿着也不成。不
说Delhi比不上北京,表面看没有LZ的发展好。
6号其它人到一个basin去参观,我不去了,L老板的新项目还要写本子,时间还紧,一
下子我还没有好的想法。本想6号能不能回去,结果发现6号,7号都没有回程的票了。
无奈,回程是8号local time早上4:30。
他们路边的树好象有樟木树的味道,弄得连住的地方也能感觉到这种气味。很不习惯,
感觉头晕恶心。
盛情地邀请了大家明年的时候到LZ来参加下一次的meeting,大家都对中国很感兴趣。
这次的会议也达成一些resolution,包括每个pilot basin的proposal的提交日期,我
们的必须在July前完成并submit上来;meeting的话unesco office会 cover国际部分的
费用,host要cover在local的费用,并提供场合。全部的人都很赞成下一步在LZ可以举
办一个workshop。

Rational rose 2003在xp sp2上的安装

在安装过程中,关闭rose,以及卸载rose过程中都会提示MEM_BAD_POINTER错误,是由
于shw32.dll模块引起的,从网上(如http://matrix.foresee.cn:8080/forum/thread.
jspa?threadID=5186&tstart=-9)下载一个shw32.dll将原安装目录下rose下的对应文
件覆盖掉即好。

arcgis的iso, fgdc标准的xml实现

昨天一直在考虑如果在iso 19115的基础上扩展生态元数据的问题。突然想到是否可以
看看esri是如何统一iso和fgdc的标准,一看吓一跳。esir的iso和fgdc标准其实是实现
在同一个xml里,换句话说这个xml里既包括了iso的要素,也包括了fgdc的要素。
catalog提供的iso editor和fgdc editor其实只是一个界面,生成的并非是独立的fgdc
或iso。比如用iso editor生成一个abstract,是放在这个xml的某要素下面,再用fgdc
editor生成一个fgdc的abstract(fgdc的要素有更高的优先级,比如iso和fgdc都具备
了一个title,你要搜索title的时候,metadata service返回给你的是fgdc的title;
当然如果查询是使用了TAG xpath方式,则返回对应tag下的内容,不存在优先级的问
题),也在放在同一个xml里,不过就是用了不同的element。郁闷,esri居然用了这样
一个四不像的xml组织方式。而且esri没有提供iso xml的parser或import/export的功
能。
看来我们也只能接下去对这个四不像的esri profile of FGDC,进行扩展了。本来还想
着应该是生成一个比较标准的fgdc或iso xml呢!

关于ArcCatalog里的iso和fgdc元数据标准的一些要点

1. If you are exclusively adding documentation using the ISO metadata
metadata editor and you will be publishing your metadata to an ArcIMS
Metadata Service, you must turn off the FGDC synchronizer and the Geography
Network synchronizer and remove all FGDC XML elements from the metadata.
2. To remove FGDC information from the metadata, you can use a VBA script
that is available with the ArcGIS Desktop Developer Kit and from ArcGIS
Developer Online at Samples > Metadata
3. ArcCatalog的验证的五项,其实是为Metadata Explorer服务的,并不元数据标准的
验证
4. ArcCatalog的Synchronizer(3种,包括iso, fgdc, geography network)是通过增
加xml elements的Sync="TRUE" or "FALSE"来实现的
5.在搜索的时候,FGDC的elements先被搜索,对应的iso elements不会被搜索到(只有
在对应的FGDC elments缺省的情况下才可能被搜索到),所以一定要记得做iso
metadata的时候,将fgdc的关闭掉
6. 很多州和地方根据FGDC CSDGM制定自己的专规(Profile),如the European
Committee for Standardization,和 the Australia New Zealand Land information
Council (ANZLIC)等
7. FGDC最终会采用 ISO 19139(19115的实施方案)来代替CSDGM
8. 可以定制 synchronizer,创建新的 stylesheets,自己的metadata editors
9. ArcCatalog实际上在一份XML里维护了FGDC和ISO两套标准,还支持扩展。而这整个
XML在publish的时候要放到sde的metadata的xml column里

存在多个元数据标准,如何处理好呢

西部数据中心至少已经存在 地理信息元数据标准(iso或gb),和生态科学数据元数据
标准(gb),如何在一个系统里实现呢。一个方案是在地理信息元数据iso的基础上进
行扩展,使之也适合于生态数据;或者在数据中心里就启动两个metadata service,不
同标准不同service里处理;再比如象arcIms对待iso和fgdc一样来处理(具体还不十分
清楚,好象是用了synchronizer之类的进行同步和转换的)。
不知道大家有什么好的想法。

元数据iso与国标的比较

1. 国标在iso的基础上,增加了MD_ImageIdentification specific class,其下包括
数据单元标识符 ,卫星,仪器,时间标识,分幅标识,和轨道编号。详见国家元数据
标准2.pdf
2. iso的Representative fraction information在国标里用string替代了
MD_RepresentativeFraction class
3. 国标里的数据质量,数据志(lineage)做了极大的简化,感觉不是很好
4. 国标里的投影一些必要的参数也没有,不完善
5. 在contentinfo package里的MD_ImageDescription只包括了cloud cover
percentage,国标的简化 可能不满足实际的需要
6. 国标里的citation datatype被很大程度简化
7. 国标根据中国情况,特化了大地坐标参照系,包括54北京,80西安等,和垂向坐标
参照系,如黄海 高程基准等
8. 在MD_字符集代码里增加了“GB18030”,域代码为030
9. B.5.11改成 未分级,秘密,机密和绝密
10. B.5.18增加按旬,代码013
更详细的对比见iso pdf的批注。总体感觉,该版本的国标草稿简化了一些应该说是很
有必要的信息(特别是投影信息,和数据质量信 息等),不一定是好事情。新增加的
codeList的elements是不错的补充。

Gdal v1.13

默认的Gdal 1.13 submake.bat utility是执行/MD,而默认启来的vc 7.1项目的debug
下是/MDd,这时可能在GDALClose()时会出现异常。可以不理,也可以将/MDd改成 /MD
另外,如果要更改Gdal的编译选项,在Gdal 1.13下找到 nmake.opt,更改对应选项即

Gdal与Qt的连接,暂时还有一个问题没有解决,即在Gdal回call自己的
GDALProcessFunc(一个函数指针,原型是typedef int (CPL_STDCALL
*GDALProgressFunc)(double,const char *, void *);)时,如何将c++类里的
function赋给这个函数指针);目前只能在全局level上才能回call,但这样就不能使
用Qt强大的emit功能了。

QHttp post的一个问题

有一些网站必需要求 cookies,这些在使用QHttp request前,必须在
QHttpRequestHeader里设置 正确的cookies,否则可能不正常工作,in the
citationSearch case,会提示被禁止访问。具体作法可参考 citationSearch源代码。

1. 可以在程序里 实例化多个 QHttp

2. 最好用 requestFinished(int, bool)来截获请求的完成情况,而不是done(bool);在进行abort()或delete QHttp时,都要emit done

3. …

citationSearch v0.1

原来周末 sdb这个数据库被关掉了,今天(周一)发现又可以用。调试了一下,基本没
有发现问题。只是sdb对来自同一个ip的http请求好象有安全上的要求,我设定在1s内
发起6个链接,居然会引起网站的forbid,改成2s也不成,后来干脆改成10s,通过!
里面有个页面抓取的功能,出了点小问题,后来发现是 connect 被我用在了具体的操
作之后了,郁闷,如此低级的错误。
不打算再改了,也没有时间了。
准备花一两天将 GIMMS-GUI给写好,提供对GIMMS数据集的空间裁剪功能。数据中心的
事情没有太多的进展。
一做起技术就是这样,有些地方被卡住的时候,连睡觉都会梦着这些问题,不过好象很
少在梦里将这些问题解决掉的。跟一个网友聊起的时候,他说尽管你说自己喜欢做技
术,但这样不成,不睡好也就没法子干好。