如果您在pyqgis控制台之外,則此需要匯入以下**段:
from qgis.core import (qgscoordinatereferencesystem,
qgscoordinatetransform,
qgsproject,
qgspointxy,
)
qgscoordinatereferencesystem
如果沒有另外指定第二個引數,則預設使用postgis srid。
通過文字(wkt)指定crs
wkt = 'geogcs["wgs84", datum["wgs84", spheroid["wgs84", 6378137.0, 298.257223563]],' \
'primem["greenwich", 0.0], unit["degree",0.017453292519943295],' \
'axis["longitude",east], axis["latitude",north]]'
crs = qgscoordinatereferencesystem(wkt)
assert crs.isvalid()
建立乙個無效的crs,然後使用create*
功能之一對其進行初始化。在下面的示例中,我們使用proj字串初始化投影。
crs = qgscoordinatereferencesystem()
crs.createfromproj4("+proj=longlat +ellps=wgs84 +datum=wgs84 +no_defs")
assert crs.isvalid()
檢查crs的建立(即在資料庫中查詢)是否成功是明智的:isvalid()
必須返回true
。
,否則它將無法找到資料庫。如果您是從qgis python控制台執行命令或正在開發外掛程式,則無需在意:已經為您設定了一切。
crs = qgscoordinatereferencesystem(4326)
print("qgis crs id:", crs.srsid())
print("postgis srid:", crs.postgissrid())
print("description:", crs.description())
print("projection acronym:", crs.projectionacronym())
print("ellipsoid acronym:", crs.ellipsoidacronym())
print("proj string:", crs.toproj4())
# check whether it's geographic or projected coordinate system
print("is geographic:", crs.isgeographic())
# check type of map units in this crs (values defined in qgis::units enum)
print("map units:", crs.mapunits())
輸出:
qgis crs id: 3452
postgis srid: 4326
description: wgs 84
projection acronym: longlat
ellipsoid acronym: wgs84
proj string: +proj=longlat +datum=wgs84 +no_defs
is geographic: true
map units: 6
您可以使用qgscoordinatetransform
類實現不同空間參照系之間進行轉換。最簡單的使用方法是建立源crs和目標crs,並使用它們和當前投影物件 構造乙個qgscoordinatetransform
的例項。然後只需呼叫transform()
函式即可進行轉換。預設情況下,它會進行正向變換,但也能夠進行逆向變換。
crssrc = qgscoordinatereferencesystem(4326) # wgs 84
crsdest = qgscoordinatereferencesystem(32633) # wgs 84 / utm zone 33n
xform = qgscoordinatetransform(crssrc, crsdest, qgsproject.instance())
# forward transformation: src -> dest
pt1 = xform.transform(qgspointxy(18,5))
print("transformed point:", pt1)
# inverse transformation: dest -> src
pt2 = xform.transform(pt1, qgscoordinatetransform.reversetransform)
print("transformed back:", pt2)
輸出:
transformed point: transformed back:
下乙個
前乙個
使用sphinx使用read the docs提供的主題構建。
PyQGisCookbook 幾何體處理 八
如果您在pyqgis控制台之外,則此以下 段需要以下匯入 from qgis.core import qgsgeometry,qgspoint,qgspointxy,qgswkbtypes,qgsproject,qgsfeaturerequest,qgsdistancearea 表示空間要素的點,線...
opencv contrib 新增cuda支援
在這裡我不僅新增了 opencv contirb的擴充套件庫,同時也新增了cuda支援。首先,要想使用cuda模組,就必須要確保你的顯示卡是nvidia的。1.需要用到的庫 intel tbb 如 opencv h program project code opencv lib opencv3.1....
02 分支結構
bool資料型別 bool資料型別,是 一種表 示 非真即假的資料型別,布林型別的變數只有 yes和no兩個值。yes表 示表示式結果為真,no表 示表示式結果為假 bool a yes 在c預言中,認為非0即為真.分 語句中,經常使 用bool值做判斷,判斷執 行if語句還是else語句 迴圈結構...