第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

QGIS python - 獲取柵格的單位

QGIS python - 獲取柵格的單位

繁星點點滴滴 2022-11-01 16:05:45
在帶有 pyQgis 的 QGIS 中,我想確定輸入柵格的單位是度還是米。 在這里,我了解到我可以使用 GDAL 從光柵中獲取投影:inRaster = gdal.Open(rasterInPath,GA_ReadOnly)projRef = inRaster.GetProjection()print(projRef)什么給了我?guī)в?EPSG 4326 的柵格字符串:GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433],AUTHORITY["EPSG","4326"]]對于 EPSG 3857 的光柵:PROJCS["WGS 84 / Pseudo-Mercator",GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]],PROJECTION["Mercator_1SP"],PARAMETER["central_meridian",0],PARAMETER["scale_factor",1],PARAMETER["false_easting",0],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["X",EAST],AXIS["Y",NORTH],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"],AUTHORITY["EPSG","3857"]]我想我可以做到:isInMetres = "PROJCS" in projRef但是還有其他解決方案嗎?我不認為這是非??勺x的,并且不確定我是否可以通過這種方式涵蓋所有極端情況(例如缺少 projRef)。不需要GDAL。
查看完整描述

1 回答

?
溫溫醬

TA貢獻1752條經(jīng)驗 獲得超4個贊

使用PyQgis API,您可以使用對象的mapUnits方法QgsCoordinateReferenceSystem。它返回一個QgsUnitTypes.DistanceUnit值,因此您可以像這樣使用它,例如:

# lyr is a QgsRasterLayer

crs = lyr.crs()

# crs is a QgsCoordinateReferenceSystem 

unit = crs.mapUnits()

print('Unit is {}'.format(QgsUnitTypes.toString(unit)))

# 'Unit is mètres' (i'm using french language)

重用您的代碼,您可以編寫:


isInMetres = crs.mapUnits() == 0


查看完整回答
反對 回復 2022-11-01
  • 1 回答
  • 0 關(guān)注
  • 170 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號