還沒(méi)有功夫?qū)懲暾摹!!?br>我打算和我的工作文檔和工作報(bào)告一起寫,這樣也比較省事,哈哈。
就寫點(diǎn)小的玩意來(lái)娛樂(lè)娛樂(lè)大眾好了。
今天用Server的ToAdfPolygon將Datasource Specific API下的PolygonN轉(zhuǎn)化為ADF Geometry中的Polygon。結(jié)果轉(zhuǎn)換倒是沒(méi)什么,但是一運(yùn)行吧,頁(yè)面上就會(huì)提示什么引用空對(duì)象的引用什么的,還是IE提示的,又沒(méi)有辦法調(diào)試,折騰了很長(zhǎng)時(shí)間,無(wú)果。
一開(kāi)始懷疑是不是AO的COM直接轉(zhuǎn)Value Object的用起來(lái)不方便,就把轉(zhuǎn)換后的Polygon Clone了一下。這不 Clone還好,一Clone問(wèn)題就出來(lái)了,就是那個(gè)Null什么的Exception。看看Polygon的對(duì)象,沒(méi)問(wèn)題啊。就開(kāi)始想。實(shí)在沒(méi)辦法,就Catch了一下那個(gè)Exception,讀取堆棧發(fā)現(xiàn)是Rings[i].Clone出了問(wèn)題,rings.count = 1,但是rings[0] = null。很明顯是ring沒(méi)轉(zhuǎn)成功。
尋找問(wèn)題的源頭,發(fā)現(xiàn)原來(lái)Datasource Specific API下面,Polygon支持連續(xù)的Curve,例如我的那個(gè)要素,就是一個(gè)Circular Curve,但是ADF下就不支持了。所以轉(zhuǎn)換ring的時(shí)候,自然也就無(wú)法成功。
最后找到了相關(guān)的例子,發(fā)現(xiàn)例子中都是用Density將線段用直線逼近后再放到ADF上的。
由此可見(jiàn),ArcGIS的例子太陰險(xiǎn)了,文檔太“概要”了,除了告訴你有哪些Member,啥都不說(shuō)。。。
無(wú)語(yǔ)。
本文來(lái)源自:
http://scriptfans.blogspot.com/2007/02/komodo.html
之所以轉(zhuǎn)貼而不是直接轉(zhuǎn)鏈接,是因?yàn)閎logspot可能有很多人訪問(wèn)不上,ORZ。。。
--------------------------華麗的分割線,以下是正文---------------------------------
Komodo是一個(gè)支持多語(yǔ)言開(kāi)發(fā)(python/ruby/perl/php/tk/javascript/xml甚至java)的IDE,基于
Mozilla開(kāi)發(fā),經(jīng)過(guò)試用(4.0版),還是很不錯(cuò)的,至少速度上比我機(jī)器上的eclipse+plugin要快許多。不過(guò)比較郁悶的是,雖然編輯器
能正常錄入中文,但解釋運(yùn)行的時(shí)候就會(huì)出錯(cuò),上網(wǎng)查了一下,原來(lái)可以通過(guò)配置一個(gè)python文件來(lái)解決,在這里先記錄下來(lái)(針對(duì)4.0版本):
官方網(wǎng)站:
http://activestate.com/products/komodo_ide/
(閑話:這是一個(gè)商業(yè)軟件,需要注冊(cè),但是0day……^_^)
1、打開(kāi)Komodo安裝目錄下的lib\mozilla\components,找到koEncodingServices.py文件,在其81行加入如下代碼:
('cp936', 'Chinese(CP-936/GB2312)', 'CP936', '', 1,'cp936'),
('GB2312', 'Chinese(GB-2312)', 'GB2312', '', 1,'GB2312'),
('GBK', 'Chinese(GBK)', 'GBK', '', 1,'GBK'),
('GB18030', 'Chinese(GB18030)', 'GB18030', '', 1,'GB18030'),
也就是把中文編碼支持補(bǔ)全到那個(gè)列表參數(shù)中,這樣在后面我們就可以通過(guò)Komodo的設(shè)置頁(yè)面來(lái)選擇這幾個(gè)編碼了。
2、
啟動(dòng)Komodo,選擇Edit->Preferences菜單,找到Internationalization,把“Use Encoding
Defined in
Environment:cp936”勾選上,這樣就把編輯器的默認(rèn)編碼設(shè)置為系統(tǒng)默認(rèn)的cp936了,當(dāng)然你也可以在下面的“Language-
specific Default Enciding”選項(xiàng)單獨(dú)為某個(gè)腳本設(shè)置編碼。
3、做完第二步還不夠,在編寫python程序的時(shí)候,需要在前面加上“#-*- coding:UTF-8 -*-”以指明文件編碼,在這里推薦使用UTF-8,其他的如gb2312也是可以的。
通過(guò)以上操作,即可完全解決Komodo的中文支持問(wèn)題,不過(guò)還是希望廠商在下一版本發(fā)布的時(shí)候解決這個(gè)小bug,免得大家麻煩。詳細(xì)的測(cè)評(píng)等用上一段時(shí)間了再說(shuō),希望對(duì)大家有用。
這段時(shí)間在做ArcGIS Server 9.2的開(kāi)發(fā)工作,比較忙,也沒(méi)有接觸啥更新的東西,因此博客就沒(méi)怎么寫了。它的那個(gè)狗屁文檔實(shí)在是讓人有點(diǎn)郁悶。哈哈。
不過(guò)好在項(xiàng)目已經(jīng)進(jìn)入中期了,技術(shù)方面的問(wèn)題都已經(jīng)解決的差不多了,下面就是編碼-文檔-測(cè)試-驗(yàn)收這種小循環(huán)持續(xù)的做了。
所以過(guò)兩天開(kāi)始準(zhǔn)備寫一組ArcGIS Server 9.2的專題,好讓大家少走點(diǎn)彎路。
初步的計(jì)劃是這樣的,總共分成5個(gè)篇章
AGS Server架構(gòu)與原理
應(yīng)用程序的Framework
Tutorial:How to build a ArcGIS Server Web App Step-by-step?
Tutorial的Extension與Refactoring
部署
當(dāng)然這只是初步的計(jì)劃,實(shí)際的話可能會(huì)隨著內(nèi)容的變更而變更啦。。。
去測(cè)繪局實(shí)習(xí)。我在的是生產(chǎn)數(shù)據(jù)的部門,我目前的職責(zé)很簡(jiǎn)單,就是寫點(diǎn)小的Tools,為了整理數(shù)據(jù)用的。
不過(guò)也很煩人,因?yàn)楹枚嗉?xì)節(jié)的問(wèn)題如果代碼做的話會(huì)累的半死。再加上今天拿到的數(shù)據(jù)有些問(wèn)題,明天還要重新確認(rèn)一下數(shù)據(jù),才能再運(yùn)行一下程序。
正在考慮公路的問(wèn)題。要判斷穿過(guò)了那些地方,然后省內(nèi)全長(zhǎng)。不算太難,不過(guò)要做起來(lái)挺麻煩。至少有一半的代碼消耗在了COM的接口轉(zhuǎn)換上,代碼很難寫的干凈。。。好在用的還是VB。界面什么的做起來(lái)還是比WTL + C++快多了。等熟悉了以后準(zhǔn)備轉(zhuǎn)向C#。
據(jù)說(shuō)過(guò)段時(shí)間要上ArcServer,又有的啃了。很累,也很困,還是早點(diǎn)睡覺(jué)的好。
摘要: 四年本科就這樣結(jié)束了。心理很難受。僅以此文,紀(jì)念那些我們?cè)?jīng)走過(guò)的日子,以及分別時(shí)真摯的情感。
閱讀全文
我這兒的doc和samples比較多,一張DVD備份不了,所以就用了幾張DVD備份。但是即使備份到DVD上以后,doc和samples也會(huì)經(jīng)常添加一些新的文檔,有的時(shí)候就很難搞得清楚距離上一次備份新添了哪些東西。而如果用windiff或者dc這樣的工具,又只能把一個(gè)目錄一個(gè)目錄的比較,很難把幾張DVD上的目錄抓到一起合并成一個(gè)虛擬目錄。所以就用python寫了這么個(gè)工具(
點(diǎn)我下載)。
用法非常簡(jiǎn)單。
o = dirBackupList('f:/programming/documents', 'q:')
#換光盤
o.add_right_dir('q:')
o.left_only
o.diff_files
#
其它 
這樣就可以合并兩張光盤目錄以后再輸出異同點(diǎn)了。
沒(méi)有經(jīng)過(guò)嚴(yán)格測(cè)試,代碼也比較混亂。
代碼參照dircmp。
大家可以在這個(gè)代碼的基礎(chǔ)上修改一下,自動(dòng)生成光盤的鏡像格式。