国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python&GIS】面矢量數(shù)據(jù)投影轉(zhuǎn)換(WGS84轉(zhuǎn)地方坐標(biāo)系)

這篇具有很好參考價值的文章主要介紹了【Python&GIS】面矢量數(shù)據(jù)投影轉(zhuǎn)換(WGS84轉(zhuǎn)地方坐標(biāo)系)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

? ? ? ? 之前分享過點(diǎn)矢量怎么進(jìn)行投影轉(zhuǎn)換,今天跟大家分享下面矢量如何投影轉(zhuǎn)換。代碼與之前的類似,只要注意一下GDAL對矢量文件劃分的關(guān)系層次即可。

????????ogr庫是一個處理地理空間矢量數(shù)據(jù)的開源庫。它可以讀取多種數(shù)據(jù)格式,進(jìn)行地理處理、屬性表操作、數(shù)據(jù)分析等操作。目前ogr和osr庫已集成到GDAL庫中,可以對柵格數(shù)據(jù)、矢量數(shù)據(jù)進(jìn)行處理分析,被3S的研究人員廣泛應(yīng)用。感興趣的可以自己去了解一下,不懂得可以一起交流!

1.加載GDAL庫(水字?jǐn)?shù))

from osgeo import ogr, osr

2.定義目標(biāo)投影坐標(biāo)系

target_proj = osr.SpatialReference()
# 初始化osr.SpatialReference對象以形成一個合法的坐標(biāo)系統(tǒng)
target_proj.ImportFromEPSG(4326)
# 向?qū)ο笾袑懭隬GS84坐標(biāo)系統(tǒng)

3.讀取矢量中每個特征的投影信息

?????????.GetSpatialRef()函數(shù)可以獲取圖層中的坐標(biāo)系信息,注意該函數(shù)的作用空間為圖層。圖層用GetSpatialRef()獲取坐標(biāo)信息,元素用GetSpatialReference()獲取坐標(biāo)信息。

ds = ogr.Open(path)
layer = ds.GetLayer(0)
feature_count = layer.GetFeatureCount()
# 查看矢量包含多少個特征
for i in range(feature_count):
    # 循環(huán)所有特征
    """spatialRef_layer = layer.GetSpatialRef()
    print(spatialRef_layer)
    # 圖層用GetSpatialRef()獲取坐標(biāo)信息,元素用GetSpatialReference()獲取坐標(biāo)信息"""
    feature = layer.GetFeature(i)
    geom = feature.GetGeometryRef()
    source_proj = geom.GetSpatialReference()
    # 獲取特征的原始坐標(biāo)系

4.坐標(biāo)轉(zhuǎn)換參數(shù)

????????第一個參數(shù)是數(shù)據(jù)的坐標(biāo)系,第二個參數(shù)是目標(biāo)坐標(biāo)系。

transform = osr.CoordinateTransformation(source_proj, target_proj)
# 定義坐標(biāo)系轉(zhuǎn)換參數(shù)    
geom.Transform(transform)

5.完整代碼

# -*- coding: utf-8 -*-
"""
@Time : 2023/5/18 16:26
@Auth : RS迷途小書童
@File :Face Vector Data Projection Transform.py
@IDE :PyCharm
@Purpose :對面矢量文件進(jìn)行投影轉(zhuǎn)換
"""
from osgeo import ogr, osr
"""layer圖層才能調(diào)用投影,數(shù)據(jù)資源是不能調(diào)用投影的。矢量數(shù)據(jù)分為datasource,layer,feature三個層次"""


def Projection_Transform(path):
    """
    :param path: 輸入需要投影轉(zhuǎn)換的面矢量
    :return:
    """
    target_proj = osr.SpatialReference()
    # 初始化osr.SpatialReference對象以形成一個合法的坐標(biāo)系統(tǒng)
    target_proj.ImportFromEPSG(4326)
    # 向?qū)ο笾袑懭隬GS84坐標(biāo)系統(tǒng)
    ds = ogr.Open(path)
    layer = ds.GetLayer(0)
    feature_count = layer.GetFeatureCount()
    # 查看矢量包含多少個特征
    for i in range(feature_count):
        # 循環(huán)所有特征
        """spatialRef_layer = layer.GetSpatialRef()
        print(spatialRef_layer)
        # 圖層用GetSpatialRef()獲取坐標(biāo)信息,元素用GetSpatialReference()獲取坐標(biāo)信息"""
        feature = layer.GetFeature(i)
        geom = feature.GetGeometryRef()
        source_proj = geom.GetSpatialReference()
        # 獲取特征的原始坐標(biāo)系
        transform = osr.CoordinateTransformation(source_proj, target_proj)
        # 定義坐標(biāo)系轉(zhuǎn)換參數(shù)
        geom.Transform(transform)
        # print(geom.GetSpatialReference())
        ds = None
    del ds


if __name__ == "__main__":
    input_path = 'B:/1.shp'
    Projection_Transform(input_path)

????????本文章主要是分享個人在學(xué)習(xí)Python過程中寫過的一些代碼。有些部分借鑒了前人以及官網(wǎng)的教程,如有侵權(quán)請聯(lián)系作者刪除,大家有問題可以隨時留言交流,博主會及時回復(fù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-632886.html

到了這里,關(guān)于【Python&GIS】面矢量數(shù)據(jù)投影轉(zhuǎn)換(WGS84轉(zhuǎn)地方坐標(biāo)系)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • WGS84以及各種坐標(biāo)系

    地心地固坐標(biāo)系(Earth-Centered, Earth-Fixed,ECEF),簡稱地心坐標(biāo)系。 地理坐標(biāo)系統(tǒng)(Geographic Coordinate System,GCS)??1??,坐標(biāo)系是地心坐標(biāo)系,用經(jīng)緯度表示球面上的點(diǎn)。 世界大地測量系統(tǒng)(World Geodetic System, WGS),比如WGS84,是一種地理坐標(biāo)系統(tǒng),用于全球定位系統(tǒng)(

    2024年02月11日
    瀏覽(24)
  • arcgis javascript api4.x加載天地圖wgs84(wkid:4326)坐標(biāo)系

    arcgis javascript api4.x加載天地圖wgs84(wkid:4326)坐標(biāo)系

    使用arcgis javascript api4.x以basetilelayer方式加載天地圖wgs84(wkid:4326)坐標(biāo)系 效果: 提示:(下述三個文件放同一個文件夾下) 4326.js MyCustomTileLayer.js loadtdt4326.html https://www.cnblogs.com/hjyjack9563-bk/p/16067633.html

    2024年01月17日
    瀏覽(41)
  • arcgis自定義坐標(biāo)系,以WGS 1984 Albers投影坐標(biāo)系為例

    arcgis自定義坐標(biāo)系,以WGS 1984 Albers投影坐標(biāo)系為例

    最近在使用arcgis中遇到了很多的問題,其中印象最深刻的就是坐標(biāo)系的問題,如果arcgis中自帶的坐標(biāo)系中沒有找到想要的坐標(biāo)系,該怎么自定義一個新的坐標(biāo)系。在使用過程中,我發(fā)現(xiàn)arcgis并沒有我所需要的albers投影坐標(biāo)系,所以我嘗試著自定義一個albers投影坐標(biāo)系,具體步

    2024年02月04日
    瀏覽(214)
  • 使用Qt/C++實(shí)現(xiàn)WGS84、高德GCJ-02、百度BD-09坐標(biāo)系間相互轉(zhuǎn)化

    使用Qt/C++實(shí)現(xiàn)WGS84、高德GCJ-02、百度BD-09坐標(biāo)系間相互轉(zhuǎn)化

    ? ? ? ? 在做地圖相關(guān)開發(fā)時候,繞不開不同坐標(biāo)系間的轉(zhuǎn)化,因此我根據(jù)查閱相關(guān)資料后將不同坐標(biāo)系間的轉(zhuǎn)換封裝到一個GeoTranslate類中,該類轉(zhuǎn)換函數(shù)不僅支持Qt/C++調(diào)用,同時可在QML中直接調(diào)用,配合上QML/Map很方便,我將該類做了個Demo,方便使用者使用,效果如圖: 在

    2024年02月12日
    瀏覽(26)
  • R語言 百度坐標(biāo)轉(zhuǎn)換至WGS84坐標(biāo)

    提示:本文利用R語言封裝了百度坐標(biāo)轉(zhuǎn)換至WGS84坐標(biāo)的函數(shù),親測有效,提供了便捷的百度坐標(biāo)轉(zhuǎn)換方法。 《利用R語言通過百度地圖API進(jìn)行批量地理編碼》一文介紹了利用R語言通過百度地圖API來批量獲取地理坐標(biāo)的方法,但結(jié)果是百度坐標(biāo)系,對于地理分析來講,直接導(dǎo)入

    2024年02月13日
    瀏覽(23)
  • ArcGIS地圖投影與坐標(biāo)系轉(zhuǎn)換的方法

    ArcGIS地圖投影與坐標(biāo)系轉(zhuǎn)換的方法

    ??本文介紹在 ArcMap 軟件中,對矢量圖層或柵格圖層進(jìn)行 投影 (即將 地理坐標(biāo)系 轉(zhuǎn)為 投影坐標(biāo)系 )的原理與操作方法。 ??首先,地理坐標(biāo)系與投影坐標(biāo)系最簡單的區(qū)別就是,地理坐標(biāo)系用 經(jīng)度 、 緯度 作為空間衡量指標(biāo),而投影坐標(biāo)系用 米 、 千米 等 長度單位 作為

    2024年02月08日
    瀏覽(24)
  • 【Python&GIS】無人機(jī)影像的像素坐標(biāo)計算圖片某點(diǎn)的地理/投影坐標(biāo)

    ????????又是掉頭發(fā)的一天,今天的任務(wù)是通過圖片中心點(diǎn)的地理坐標(biāo)以及圖片中某點(diǎn)的像素坐標(biāo)(即這個點(diǎn)位于圖片中的x,y坐標(biāo))計算該點(diǎn)的地理/投影坐標(biāo)。經(jīng)過一整天的搜索,發(fā)現(xiàn)網(wǎng)上并沒有這方面的教程。然后就是想啊想,頭發(fā)一抓一大把,終于在網(wǎng)上零零散散的

    2024年02月16日
    瀏覽(27)
  • 相機(jī)坐標(biāo)系的正向投影和反向投影

    相機(jī)坐標(biāo)系的正向投影和反向投影

    世界3D坐標(biāo)系(x, y, z) 到圖像像素坐標(biāo)(u,v)的映射過程 (1) 世界坐標(biāo)系 到 相機(jī)坐標(biāo)系 的映射。 兩個坐標(biāo)系的轉(zhuǎn)換比較簡單,就是 旋轉(zhuǎn)矩陣 + 平移矩陣 ,旋轉(zhuǎn)矩陣則是繞X, Y,Z 軸旋轉(zhuǎn)獲得。 R 屬于世界坐標(biāo)系到相機(jī)坐標(biāo)系的旋轉(zhuǎn)矩陣, 旋轉(zhuǎn)矩陣為 R = R(z) * R(y) * R(x) , 具體根

    2024年02月10日
    瀏覽(27)
  • Nuscenes——實(shí)現(xiàn)世界坐標(biāo)3D點(diǎn)投影到像素坐標(biāo)系中

    Nuscenes——實(shí)現(xiàn)世界坐標(biāo)3D點(diǎn)投影到像素坐標(biāo)系中

    首先在 mmdetection3d/tools/data_converter/nuscenes_converter.py 中, get_2d_boxes() 可以直接從nuscenes原始sample數(shù)據(jù)中獲取已標(biāo)注的3D box信息,因此該函數(shù)就可以實(shí)現(xiàn)整體投影過程。 投影原理 投影過程分為以下幾步: 世界坐標(biāo)系 —— Ego坐標(biāo)系(自身) 這里需要世界坐標(biāo)系原點(diǎn)變換到自身的

    2024年02月11日
    瀏覽(25)
  • 怎樣通過Python和齊次坐標(biāo)變換方法實(shí)現(xiàn)坐標(biāo)系之間的轉(zhuǎn)換?

    齊次坐標(biāo)變換是一種用于實(shí)現(xiàn)坐標(biāo)系之間變換的數(shù)學(xué)技術(shù)。它通常用于計算機(jī)圖形學(xué)、計算機(jī)視覺和機(jī)器人技術(shù)。在齊次坐標(biāo)系中,3D點(diǎn)/頂點(diǎn)由4D向量(x,y,z,w)表示,其中w是比例因子。齊次表示允許有效的矩陣運(yùn)算并簡化變換過程。坐標(biāo)系之間的變換可以通過使用齊次變

    2024年02月05日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包