Archive

‘操作功能’ 分類過的Archive

QGIS中多邊形的準確接合

2014年7月1日 尚無評論

QGIS中的snapping功能能將節點準確地接合到另一個節點,在進行精準數化時十分方便。

但若需要兩個多邊形的接合,有辦法使用這個工具嗎?

答案是肯定的,如上圖,兩個多邊形的邊界完全吻合,在這情況下想將其合併,可依下列步驟:

1. 進入編輯模式,選擇節點工具(Node Tool),這時若點對點的移動接合,會讓多邊形變型。

2. 要整體接合的話,要在選擇節點工具後,將要移動的多邊形全部框選起來(使其所有節點變成藍色)。

3. 在這個狀態下進行移動,即可在不變型的情況下順利接合兩個多邊形。

Categories: QGIS, 操作功能 Tags:

如何轉換ESRI ArcMap與Quantum GIS的專案檔

2014年3月28日 尚無評論

ESRI ArcMap和Quantum GIS兩套桌上型GIS軟體的使用者都相當多,其中也有許多同時使用兩套軟體的使用者,於是便出現了一個需求的詢問:是否有方法可以將ESRI ArcMap的專案檔轉成Quantum GIS,讓整個專案轉移到Quantum GIS上使用?
為了解決這個問題,Allan maungu(lumtegis@gmail.com)寫了一個在ArcMap上的小工具-mxd2qgs,讓這個問題得以解決。以下說明這個小工具的使用方法。

1. 先到這裡下載mxd2qgs工具的壓縮檔。
2. 解壓縮後,先開啟PyXML-0.8.4.win32-py2.6.exe來安裝小工具所需的函式庫。
3. 開啟ArcMap 10,並在ArcToolbox上加入這個小工具的包裝檔Qgs.tbx。

4. 加入後即可在工具箱中看到一個新的工具-mxd2qgs。

5. 在ArcMap to Quantum GIS工具上按右鍵,在屬性選單的來源頁面中選取mxd2qgs.py的路徑。

6. 完成以上步驟後即安裝完畢,使用時僅需雙擊此工具,並給予QGIS專案的路徑(需包含副檔名.qgs)即可。

7. 本小工具輸出的檔案目前還是QGIS1.6的專案,尚未更新至最新版本。

Categories: QGIS, 操作功能 Tags:

QGIS中的自定樣式

2013年12月20日 尚無評論

在QGIS中,可在圖層屬性中點選樣式頁面,依所需的展示方式自行決定符號的樣式。如下面的範例,假設我們有兩個不同的GPS資訊,我們可以經由設定將不同的類別以不同圖示表示:

從第一張圖的資訊可以看到此筆資料除了有兩個不同類別的資料外,還包含了速率及移動方向的資訊,我們是否有辦法可以將這些資訊也以圖形化(比如說圖形越大依速率決定,並把方向性加入)的方式展示呢?在樣式對話框的右下角,我們可以選擇控制地標點大小及旋轉的工具

以內建的工具即可以做到以上的效果,但若我們的資料更複雜,或想做更進階的展示該怎麼做呢?其實在QGIS中是以.qml檔案來控制樣式,在樣式的對話框中可以「儲存樣式」即可得到目前樣式的.qml檔案,我們只要適當地修改此文件即可進階控制樣式。

以文字編輯器打開後,可以看到以下的文字

上圖中紅框部份可以看出,這個樣式分為兩類(category),檔案內並分別對兩個類別的樣式進行定義。仔細找看看,也可找到大小(sizescale)及旋轉(rotation field)欄位的定義。

修改完成後,載入樣式即可得我們預期的結果。

瞭解以上QGIS對於樣式的處理方法,我們便可以在自已開發的客製化小工具中依更複雜的條件式做出不同的樣式。只要先以條件自動生成所需的.qml檔,再在小工具的程式碼中加入此.qml,即可得出客製化的樣式。可參考以下在python中載入.qml檔案的函式:

#load the qml
qmlfile = QtCore.QFile(“qgis-layer-style.qml")
doc = QtXml.QDomDocument( “Categories" )
if qmlfile.open(QtCore.QIODevice.ReadWrite | QtCore.QIODevice.Text) == 0:
print “cannot open file"
if doc.setContent( qmlfile ) == 0:
print “no xml content"

# creating a new renderer
myRenderer = QgsCategorizedSymbolRendererV2(“,[])
myRenderer.load(doc.documentElement())
# here myRenderer has still no categories!

# assign myRenderer to the active layer
layer = qgis.utils.iface.activeLayer()
layer.setRendererV2(myRenderer)

Categories: QGIS, 操作功能 Tags:

自動製作流水號並填入欄位

2013年11月21日 尚無評論

在GIS的實作上,有時會碰到需要建立流水號的欄位屬性。例如我們調查了某條路上的路樹分佈情形,並製作了路樹的點圖層,這時如果可以將每棵路樹一個流水編號,將會更方便管理。QGIS中的欄位計算功能可以快速達成此工作,範例如下所示。
1. 開啓欄位屬性表,進入編輯狀態並開啓欄位計算功能。

2. 新增一個欄位,並將裡面的值設為’tree_’ || tostring($id)

3. 即可自動將所需流水號加入欄位中。

Categories: QGIS, 操作功能 Tags:

在QGIS2.0中加入台灣百年歷史地圖

2013年9月25日 尚無評論

QGIS2.0已支援WMTS功能,以後不需再透過Openlayers plugin for QGIS臺灣圖資擴充來加入台灣百年歷史地圖而有更方便的方法了:

1. 點選「加入WMS圖層」。

2. 將台灣百年歷史地圖WMTS服務網址(http://gis.sinica.edu.tw/tileserver/wmts)加入後並連線。

3. 連線成功可以看到該服務提供的所有圖層。

4. 選取想加入的圖層後即可加入。

因為是依循OGC WMTS標準,所以不只在QGIS上可以加入,也可以在ArcGIS 10.x軟體中加入這些歷史地圖
2013-09-25_092514

5. 國土測繪圖資網路地圖WMTS服務(http://maps.nlsc.gov.tw/S_Maps/wmts)亦可使用相同方法加入。

2013-09-25_092552

Categories: QGIS, 操作功能 Tags:

QGIS小工具 – traceDigitize

2013年8月14日 尚無評論

先前的文章「利用已有邊界繪製多邊型」提到利用snapping option(自動接合)設定可以繪製邊界完全密合的多邊形,若要使用同樣的方法數化多邊形邊界的線圖層,該怎麼做呢?

同多邊形的做法,設定好自動接合後,在數化線時即會自動接合至邊界的每個節點上,但若多邊形有許多曲折(如下圖基隆市界圖),一一數化每個節點將相當費時。而又因為是線圖層,無法使用像前篇文章一樣的方法 – 先畫一個大範圍的區塊,再讓它自動接合。

QGIS Plugin中有一個小工具 - traceDigitize,類似MapInfo的編輯工具,使用者只需按住Ctrl鍵並使滑鼠在邊界上移動,不用一一點擊滑鼠左鍵即可以快速追蹤邊點的節點及數化。

首先先在附加元件中安裝此一工具,因為此一工具目前還在實驗階段,所以需先在選項中把"顯示所有元件"打勾,才能搜尋到此一工具

接著設定snapping option

設定好後,進入編輯狀態,會發現編輯工具列中多了一個traceDigitize的工具,點擊開啓,數化第一點之後,只要按住Ctrl沿著邊界移動,便會自動搜尋邊界節點並數化,十分方便。

若發現錯誤或遺落節點,按下回車鍵(Backspace)即可回復上一步。

Categories: QGIS, 操作功能 Tags:

DWG file與Shape file之間的轉換

2013年8月2日 尚無評論

使用電腦輔助設計軟體AutoCad製作圖面在實務工程上十分常見,這些檔案多半儲存為DWG格式。DWG是歐特克公司(Autodesk)為AutoCad所設計的一種專有文件格式,該公司保有DWG文件格式的一切權利,策略是想讓DWG檔案變成該公司特有的檔案格式。

為了便於GIS應用,我們可以希望能將擁有豐富資訊的DWG格式轉換成Shape file格式,以下將簡單說明轉換的流程。

首先,我們要將DWG檔案轉換成開放的交換格式DXF。有許多免費或需付費的小工具都支援這個轉檔功能(AutoCad裡也有內建),在此我們使用免費工具TeighaFileConverter進行示範。

TeighaFileConverter的操作介面十分單純,並支援匹次處理。選擇輸入及輸出的目錄位置及格式,即可開始轉檔。在此我們將DWG檔案轉成DXF檔案。

QGIS中內建有DXF轉Shape file的功能。

操作上也非常簡單,選取輸入及輸出檔案路徑及輸出檔案類型,即可進行轉換。在此檔案路徑需為全英文,否則將無法進行轉檔。

Categories: QGIS, 操作功能 Tags:

國土測繪中心WMS服務

2013年8月2日 尚無評論

2013年6月內政部國土測繪中心將「國土測繪圖資網路地圖服務系統」中的各項圖資以WMS方式發佈,使用者無需申請即可介接此些圖資。WMS的服務介接網址為:「http://maps.nlsc.gov.tw/S_Maps/wms」。現有圖層服務包括:

  • 1/5000基本地形圖
  • 通用版電子地圖透明(含建物)
  • 通用版電子地圖透明
  • 通用版電子地圖
  • 段籍圖
  • 正射影像圖(通用版)
  • 村里界

以下為使用QGIS介接此一服務的流程:

1. 點選加入WMS圖層,新增國土測繪中心WMS主機。

2. 連線後可以看到所有開放的圖資,共計有通用版電子地圖及其透明圖層、透明圖層(含建物)、通用版電子地圖正射影像、國土利用調查成果圖等

3. 圖層坐標系皆為WGS84,匯入的畫面如下。

通用版電子地圖

地籍圖

國土利用圖

正射影像圖

進階閱讀:

Categories: QGIS, 免費GIS資料, 操作功能 Tags:

在OpenStreetMap編輯器(JOSM)加入台灣百年歷史地圖WMS服務

2013年7月2日 尚無評論

1. 開啓JOSM中的「偏好設定對話盒」,選取其中的「顯示圖片圖層清單」。

2. 加入中研院台灣百年歷史地圖WMS服務,服務位址可在國土資訊中心服務平台找到。在JOSM中我們必須將歷史地圖WMS URL稍做更改如下(以「臺灣堡圖」為例,服務圖層代碼為「JM20K_1904」):

http://gissrv1.sinica.edu.tw/lizardtech/iserv/ows?REQUEST=GetMap&SRS={proj}&STYLES=&FORMAT=JPEG&WIDTH={width}&HEIGHT={height}&BBOX={bbox}&AYERS=JM20K_1904

3. 點擊取得圖層時會發生錯誤訊息,在此可先忽略此訊息。

4. 完成後在JOSM的工具列上即會多了一個「台灣堡圖」圖層,點擊後便可當做底圖使用。

5. 步驟3中的錯誤訊息讓我們無法直接取得台灣百年歷史地圖圖層清單,但不影響使用,使用者自行在「LAYERS=」後自行加入如JM20K_1904、TM50K_1956、TM25K_1921等圖層名稱,便可以引用。

Categories: OpenStreetMap, 操作功能 Tags:

利用QGIS匯出高解析度的截圖

2013年6月21日 尚無評論

QGIS中利用"save as image"可以將目前看到的圖層範圍另存為影像檔,但利用此方法出圖解析度無法自行決定。若要匯出高解析度的截圖,可以利用command line直接下指令來匯出:

1. 先將所需的圖層加入QGIS。
2. 將圖面移動至所需範圍,或是寫下所需範圍供後續輸入。
3. 儲存專案,關閉QGIS。
4. 開啓command line,執行以下指令:

C:\...>qgis --project myproject.qgs --snapshot image.png
            --width 1500 --height 1000 --extent xmin,ymin,xmax,ymax

執行後將會開啓QGIS,匯入專案檔,自動出圖後關閉。

註: 需先移至qgis.exe的目錄,預設在"C:\Program Files\Quantum GIS Lisboa\bin\" (QGIS 1.8),匯出的影像若未指定路徑也會存於此處

Categories: QGIS, 操作功能 Tags: