2010年1月18日 星期一

MapWindows GIS Convert CSV File to Shape File

Most of Engineer get the X, Y value form site survey, something like collect the value form GPS. Today, I will share how to use MapWindow GIS(Free GIS software) to create the Shape File by CSV file.

1. Open the MapWindows GIS software, and click the "Converter->CSV to Shapefile".

2. The System will open the CSV to Shapefile Dialog, you can click the Browser icon form Input File.

3. Choose the CSV file and click "OK" for opening.

4. Click "Open File" and click "Point" for Data Type. Finally, click "Convert" to convert the CSV to Shapefile

5. You will see the Point data in the screen of MapWindows GIS.

Sharing Civil 3D 2010 Corridor Model (2)

Today, I will share some image of Civil 3D Corridor Model. In this project the key is create customerize Subassemibly, and Bridge design.




2010年1月7日 星期四

Sharing Civil 3D 2010 Corridor Model (1)

Today, I will share some photo of Civil 3D Corridor Model. In this project the key is create customerize Subassemibly, and mutli-link for grading.



2010年1月4日 星期一

CivilTech Plurk

Dear Reader,
I create a Plurk account named "CivilTech", Welcome to join CivilTech (http://www.plurk.com/CivilTech). CivilTech Plurk let you get the latest CivilTech news and learn tips of Engineering GIS more easily.

Best Regards,
CivilTech

2010年1月3日 星期日

Civil 3D Point Application "Import-Assign Elevation-Export"

本文教導使用者如何利用Civil 3D來匯入點位資料,並附與Google Earth地形資料的高程值,最後匯出成文字檔案。透過這一篇文章,讀者可以活用Civil 3D的點物件與Google Earth的地形資料。
In this article, you can learn how to use Civil 3D get the elevation data from Google Earth by Point Object. Besides, you can also learn the point data import/export.

原始資料包含點編號、名稱、經緯度資料,但缺乏高程值。因此,利用Google Earth與Civil 3D來建立點物件的高程。The source data include the point number, name, latitude, and longitude data in Microsoft Excel file.
利用GAMINE GPS軟體MapSource查詢座標資料後,可以查出點位的高程(這不是很準確的方式,但是可以應急),另外也可以將成果發佈置Google Earth中來觀看結果,如下圖。I create a reference data by MapSource(The GAMINE GPS desktop software) and publish to Google Earth. In this step, we can locate the point in Google Earth, and then Civil 3D can download the surface from Google Earth.

筆者希望可以再利用點位資料找到Google Earth中的高程資料,來作一個驗證與比對。因此,這時候就利用到Civil 3D的軟體,但是如何自動將Google Earth高程值對應到點為呢?這一點就是本篇文章的一個重點了,筆者想到,這一種練習也許可以幫助使用者去學習如何活用Civil 3D這樣的軟體。

筆者的解決方式思考邏輯如下:
If you want achive the goal that get the elevation from Google Earth by Civil 3D Point Object, you need consider about the following things.
1. 利用Civil 3D可以開啟Google Earth的地形,如果我可以將點位在建立起來,這時候就會有地形與點位的資料了。How to create point object and overlap in Civil 3D? Civil 3D can import Google Earth Source and point file.
2. 點位建立,原始資料是經緯度的,Civil應開可以將點位轉換成TWD97,或將地形也轉換為TWD97的,這樣一來就可以套疊了。How to Tranfrom the source data CS from Lat/lon to TWD97? If the Google Earth surface and point data within the same CS, it's can overlapping.
3. Civil 3D因該可以將點位附與地形高程。(這部分需要測試)How to get elevation from surface by Civil 3D?
4. 筆者是否可以將資料匯出成對應的格式,提供比對。How to export?

綜上所述,筆者利用Civil 3D建立了一系列的操作,如下:
A.建立一個新的格式的點檔案格式。這一個格式是CSV檔案,主要用來匯入EXCEL資料(當然筆者有對格式修改過);然後,他要能夠將經緯度的座標系統轉換為TWD97的座標系統(因為筆者再匯入Google Earth的DWG專案檔已經設定為TWD97座標系統,且GE資料已經匯入)。First step is create a new Point File Format in Civil 3D to help you import the source data. in this step, I create a CSV input and set the CS to LL84.
注意:筆者設定經緯度讀取的資料格式為DECDEG Latitude與DECDEG Longitude

B.利用創建出來的點檔案格式讀取CSV檔案,這裡要注意的是要將下方的"Do Coordinate Transformation if Possible"勾選起來,這時候才會進行座標系統轉換。 When you import the point file, please click on the "Do Coordinate Transformation if Possible". Civil 3D will help you check the source data CS and current project CS and transform in the same CS automatically.

C.點位與地形套疊再一起了(由於Civil 3D匯入Google Earth地形資料的教學筆者以前文章已經發表過了,所以不再贅述)You can see the point date on the surface. I wont explain how to import Google Earth Surface by Civil 3D, cause we already discussed it before.

D. 將點位套疊並加入來自Google Earth地形的高程值,可以利用Point->Edit Point->Elevation from Surface選單來處理。If you want get the elevation value form Google Earth surface you can click the "Point->Edit Point->Elevation from Surface" from menu bar.

E. 之後點位資料就有來自Google Earth的高程值了。 Right now, you get the elevation form Google Earth Surface.

F. 最後就是將點位資料匯出為文字檔或其他格式作比對,方法就是建立一個新的點檔案格式,然後匯出。
注意:筆者設定經緯度讀取的資料格式為DECDEG Latitude與DECDEG Longitude,讀者也可以改用其他格式的輸出。Finally you can export the Point data to CSV file. As well as, you can create another Point File Format for export.

成果比對如下,大至上Google Earth與GAMIN牌GPS軟體MapSource還是有些許差異,但是原則上高程值並沒有太大的誤差值。

操作心得:
1. 讀者可以利用這樣的範例練習Civil 3D點位資料的匯入與匯出,並且建立自己需要的格式。
2. 此外,還可學習到如何利用Civil 3D轉換測點座標至別的座標系統。
3. 可以學習如何利用測點攫取地面高程。
4. 這是一個衍生的應用,如果使用者缺依些資料(粗略的資料),就可以用Civil 3D與Google Earth來建立作為參考。

2009年12月25日 星期五

免費GIS軟體下載 Quantum GIS

Quantum GIS is a powerful, extensiable, compatable, and Free GIS software. you can use QGIS to access different file format, even cowork with GRASS or POSTGIS. In Taiwan, 中央研究院 create a lot of material for QGIS. you can google search "QGIS" to get more info about it!

If you want know more about Quantum GIS, please access to http://qgis.org/
獲取更多中文版QGIS訊息與下載請瀏覽http://gis.rchss.sinica.edu.tw/qgis/?page_id=2

2009年12月21日 星期一

GIS概論 - Introduction GIS (11)

本篇文章中的簡報資料部分取用康寧醫護暨管理專科學校資訊管理科 凃保民老師的簡報資料,如果讀者希望閱讀更深入的資料內容,請參閱http://kam.sju.edu.tw/mis-200902.nsf/f456cfefe939d4e848257023001e60bc/49541e5f7d6376fc482575780064ff20/$FILE/ER%20Model.ppt

ER-Model又稱實體關係模型,這些文字的敘述,筆者不在多談。我要強調的是,你如何利用ER-Model在你的工作上。所以建議讀者,看一下簡報裡面的描述,然後搭配筆者的文字描述來延伸思考。
在我們周遭的生活當中,每一件事物都存在著關係,ER Model就是利用邏輯化、圖像式的方式來表達我們生活周遭的事物關係。舉例而言,你居住的房子與你本身就存在著關係,"你"本身是一個實體,"房子"也是一個實體,兩個實體間存在著"居住"的關係;再舉例而言,你擁有一輛車子,"你"是一個實體,"車子"也是一個實體,兩者間存著"擁有"的關係。

舉上面兩個例子,主要是要讀者體會實體關係的狀況無所不在。接下來,讀者要思考的就是你周遭所遇到的事物的實體關係。

緊接著實體的除了關係以外,就是實體的屬性了。每一個實體都有屬性,比如說,你自己就包含了身分證字號、姓名、住址、雙親、配偶、電話、職業等的屬性資料。而你所居住的房子,也包含了所有權人、地址、電話、面積等資料。兩者可能可以用共同的屬性資料來對應出關係來,比如說地址。

而最簡單幫助讀者思考的就是你可以拿出你自己的身分證、公司資料、病例資料、存款簿、借書證等手邊的證明文件,上面的資料都是你的屬性資料的一種。而你就可以透過這些資料的不同用途,去尋找到對應關係的另一個實體。例如:身分證資料對應戶籍地址的居住關係;公司資料對應公司的任職關係;病例資料對應醫院的診療關係;存款簿對應銀行的理財關係;借書證對應圖書館的借書關係等。

回到GIS的應用中,假設你在建立一個車機系統,你可能會遇到的就是車輛與車隊的關係。一輛車子與車隊的關係存在的約雇關係。而單一一輛車子,會包含:車牌號碼、駕駛、車型、購買年、CC數、公司等基本資料;而派遣公司,就會有公司名稱、負責人、電話、地址等資料。這兩者就可以利用公司的名稱來做關聯。
再舉例,工程管理系統中,營造廠可能包含:名稱、負責人、資本額、等級等基本資料的屬性;工程本身會有工程名稱、總價、設計單位、工期、起造人、承包商等基本資料,兩者可以用承包商產生關聯。




關係通常除了單純的對應以外,更重要的是描述關係的複雜程度。在ER Model中,關係被用一對一、一對多、多對多來表示關聯的複雜性。我剛剛所舉的例子,多半只是用來描述關聯的基本一對一關係,但是,現實的生活比這個複雜許多。比如說,你自己與醫院的關係可能是一對多,因為你可能會依據不同的症狀去尋求不同的醫療,所以你一個人的資料就會在不同的醫院、診所、院所出現。這時候,你一個人的身分就對應到多家醫療機構。
再舉例,你一個人可能會去圖書館借閱很多書籍,那你與圖書館裡面的書籍就有一對多的關係存在。當然,一本書可以給很多人借閱,所以如果將書籍與借書人建立關係,可能就會出現一對多的關係。

回到GIS中,在前面談到的車輛派遣中,車輛與車隊的關係,當然一個車隊公司可能其下擁有很多車輛,這時候一對多的關係就出現了。又工程與營造廠的關係在於承攬,所以工程與營造廠通常有一對一的關係,但反過來,一家營造廠就一定會有承攬過很多工程,所以,營造廠與工程又存在著一對多的關係。


談了這麼多理論的觀念後,接著就是實體關係圖的建置,這部分並不難。首先,讀者一定要先繪製個別的實體,然後將將實體的屬性繪製出來,再將關聯拉出來,這時候就有初步的實體關係架構;當然,你必須確認實體與實體間的關聯,是否可以透過共同的屬性產生關聯。這時候,實體關係模型就建立了。








說實在的,筆者接觸的專案並不算少,還是老生常談,規勸各位GIS的學習者,由其是政府機關的人員。學GIS一定要學資料庫,因為80%都是資料庫處理,無論是車輛派遣或是工程管理系統,在其中跟地理圖形相關的部分都只有車子的位置與工程位置而已,有多難?!不就是一個座標值!
而後面的管理系統、查詢、分析、統計全部都是資料庫的運作。所以,ER Model絕對實務、重要。系統規劃上,躲不掉、避不開。而筆者很多朋友寫系統,基本上在系統開始的時候,也只有前段圖資部分會與筆者討論,其餘部分就再也不需要筆者了(除了應用的概念外),所以其餘的都是資料庫與程式撰寫。

政府機關一定要學資料庫規劃,因為如果你沒辦法利用ER Model將你日常生活中的表單規畫出來,那你又如何可以建立一個GIS系統協助你的行政作業。
再回到Engineering GIS的角度來看,建議學子們,可以開始讀資料庫概論,將一些你可以想到的工程管理資料建立ER Model的關係,往後要建立工程管理系統就不需要借助他人之力了。

最後,正規化是學習ER Model的另一個重點,有機會筆者在與讀者分享。希望各位可以透過本篇文章,對於GIS有更深一層的認識。