最近有個活,要求根據數據座標生成點圖,根據點連成多邊形,再根據多邊形求面積。由於之前沒有接觸過,只聽過sharpmap,就準備用sharpmap,但是當接觸sharpmap後,才發現我沒有現成的shapefile文件,於是在網上搜羅,發現了ArcGIS,它可以將任何數據轉換爲shapefile,而且還提供c#編程。我高興極了!
第一次嘗試
根據這個http://www.cnblogs.com/hans_gis/p/3482986.html得到,但是如何通過程序處理呢,當我在網上下載了一個CreateShapeFile工程,是用c#寫的,基於ArcGis 10.2,剛好我同事電腦安裝了一個,於是把工程發給他,沒幾分鐘,一個excel文件就變成了shapefile文件,我們很興奮,想着要繼續研究,如何將點連成線,線組成多邊形。可是在這個點連成線的地方就卡住了,找到一個網友,他提示我:
畫點用點圖層,畫多邊形用多邊形圖層
每一個座標點都作爲點圖層一個要素
一個有序的點數組是可以構造出一個多邊形的
GIS裏面所有的點線面都是用圖層來進行管理
可是我不太明白。
第二次嘗試
我無意中在http://www.pudn.com/downloads133/sourcecode/windows/detail569110.html這個裏面找到一個算面積的c#工程,但是下載後,即使在同事的電腦上也不能運行,總是報Version有問題,後來想想是不是版本太高,於是把所有組件都換成9.3的dll,結果總是說找到9.3 的System類,難道要基於9.3才能運行嗎?那就安裝ArcGis9.3吧,於是,浩大的工作量就開始了。
首先是安裝ARCGIS9.3的問題,開始安裝了一個專業版,但是沒有破解,似乎用不起來,於是,又找破解軟件,再根據http://blog.sina.com.cn/s/blog_6215b1010100kd7m.html提示,安裝好9.3後,這個工程依然運行不起來,提示“The ArcGIS Engine product is unavailable. This application cannotrun!”似乎是產品不可用,直接把這句話放在網站上搜索,也沒理出個頭緒,實在沒招了,突然我想到,試試搜“ArcGIS Engine”,什麼下載,安裝,教程,全都出來了,我下載了一個“arcgis engine開發從入門到精通”原來才明白,ESRI公司專門爲編程提供了一個AE開發。
接着,我又開始尋找AE開發的環境,在http://wenku.baidu.com/view/75ccea4b852458fb770b5618.html裏面,清楚講解了安裝方法和步驟,我此刻才明白,我真正要了解的是什麼了。那麼,下面,我就開始安裝AE 9.3 runtime for Windows和AE SDK.net。可以runtime 很不好找,那隻能採取第一個安裝方法了,直接進入ARCGIS 9.3的安裝界面,安裝AE SDK.net,可是又彈出一個提示,只能支持VS2008或2005.唉,真是不容易。
那麼,好吧,開始安裝VS2008了,在安裝VS2008時,竟然也能遇到錯誤,幸好百度很強大啊,通過
http://wenku.baidu.com/view/1d20deb9e53a580216fcfe73.html和http://zhidao.baidu.com/question/260357913.html?qbl=relate_question_0網站,終於解決了。
所有工作都做好了,破解文件也安裝好了,似乎一切都比較順利了,但是,工程運行起來,依然報錯“
ESRI LicenseError
---------------------------
Warning: This application has not beeninitialized with an ESRI license and will not function correctly.
”但是錯誤似乎不一樣了,那麼繼續吧,經歷了千山萬水,才明白是沒有許可文件的原因,當我從網上下了一個ArcGis 9.3全套許可文件.ecp,可是不知道怎麼用,雙擊也是“無法打開文件”,是不是覆蓋呢,可是在電腦上沒找到以.ecp結尾的文件啊,惱火!
第三次嘗試
正當我想放棄的時候,迅雷突然來個提示“RT下載完畢”,那裝吧,反正運行不了,試試吧。當我裝完runtime,隨便雙擊了一下這.ecp文件,竟然彈出一個對話框,然後就下一步下一步咯,哈哈,點擊完成。
又運行工程,試試,彈出“Licensing for this product has expired”六個過期啊,是不是許可文件過期了呢,http://wenda.haosou.com/q/1358512705064721?src=9999幸好網絡堅強啊,又被我找到解決辦法了,將時間改爲2007,哈哈,工程竟然運行起來了。我要的功能基本上都能實現。
感謝偉大的360,無敵的百度,慷慨的提供資源的人們啊,作爲研究,這些功能足夠了。
當然,這個是不能作爲商業使用的,因爲ESRI公司雖然提供了全套的C#開發工具和開發文檔,但不是免費的,因爲他要求第一步就是註冊,如果沒有許可文件,連裏面的工具都用不成!
畢竟都是辛苦所得,支持正版,哈哈
目前我手裏的資料有:
ArcGIS10.2_DesktopCN(中文破解版)
arcgis10.2破解文件
LicenseManager
安裝步驟:
http://jingyan.baidu.com/article/e73e26c0cb5c1324adb6a791.html?qq-pf-to=pcqq.c2c
免安裝虛擬VD.rar
[ArcGis地理信息系統.桌面系統].ArcGIS.9.3.SLX.iso
arcgis93pjwj(www.greenxf.com)(補丁文件)
ArcGIS Engine開發從入門到精通.pdf
EngineRT.rar
arcgis 9.3+EngineSDKNET.rar
VS2008.iso
VS2008SP1CHSX1512981.iso(補丁文件)
9.3debug(9.3環境下的dll,原來裝了AE後,這些都是現成的)
ArcGis 9.3全套許可文件
C#工程:
CreateShapeFile
376454768AO