•MAPEDIA•
MAPEDIA BLOG
Published in
2 min readAug 12, 2019

--

วิธีเพิ่มชั้นข้อมูล WMS และ WFS ผ่าน Python Console ใน QGIS3

1.ไปที่เมนู Plugin > Python Console หรือ Ctrl + Alt + P

2. ทำการพิมพ์คำสั่งดังนี้ เพื่อ import qgis.core

import os, sys
from qgis.core import *
import qgis.utils
import qgis.core

3. เพิ่มชั้นข้อมูลแผนที่ฐาน (basemap) จากผู้ให้บริการ OpenStreetMap (OSM)

#Add Basemap
osm = iface.addRasterLayer("type=xyz&url=http://a.tile.openstreetmap.org/%7Bz%7D/%7Bx%7D/%7By%7D.png&zmax=19&zmin=0&crs=EPSG3857", 'OpenStreetMap', 'wms')
Add OSM Tiles XYZ

4. เพิ่มชั้นข้อมูลแผนที่ฐาน (basemap) จากผู้ให้บริการ Google Map เลือกเป็นแบบแผนที่ผสม (Hybrid)

#Add Basemap
ghyb = iface.addRasterLayer("type=xyz&url=https://mt1.google.com/vt/lyrs%3Dy%26x%3D%7Bx%7D%26y%3D%7By%7D%26z%3D%7Bz%7D&zmax=19&zmin=0&crs=EPSG3857", 'Google Hybrid', 'wms')
Add Google Map Tiles XYZ

5. เพิ่มชั้นข้อมูล WMS (Web Map Service) จากผู้ให้บริการ GeoServer (ตัวอย่างเป็นการจำลอง server ใน localhost ถ้าท่านใดที่มี WMS ที่สามารถเรียกผ่านออนไลน์ได้ก็สามารถเรียกใช้แทน localhost ได้เลยครับ)

# Add WMS GeoServer
rasterLayer = iface.addRasterLayer("crs=EPSG:4326&dpiMode=7&featureCount=10&format=image/png&layers=gisdata:landuse&styles=&url=http://localhost:8080/geoserver/ows", "wms layer example", "wms" )
Add WMS GeoServer

6. เพิ่มชั้นข้อมูล WFS (Web Feature Service) จากผู้ให้บริการ GeoServer (ตัวอย่างเป็นการจำลอง server ใน localhost ถ้าท่านใดที่มี WFS ที่สามารถเรียกผ่านออนไลน์ได้ก็สามารถเรียกใช้แทน localhost ได้เลยครับ)

# Add WFS GeoServer
vectorLayer = iface.addVectorLayer("http://localhost:8080/geoserver/wfs?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=gisdata:amphoe&SRSNAME=EPSG:4326","wfs layer example","WFS")
Add WFS GeoServer

7. นอกจากนี้ท่านยังสามารถคลิกที่ Show Editor สำหรับเขียนเก็บไว้เป็นไฟล์ได้

Code from github
python script file

--

--