日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Arcpy操作

發布時間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Arcpy操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Arcgis-Arcpy

持續更新

安裝

安裝步驟

基礎介紹

地理信息系統(geography information system,GIS)是在計算機硬件支持下,對整個或者部分地球表層空間中的有關地理分布數據進行采集,存儲,管路,運算,分析,顯示和描述的技術系統。地理信息系統處理和管理的對象是多種地理空間實體數據及其關系,包括空間定位數據,圖形數據,遙感圖像數據,屬性數據,主要用于分析和處理一定地理區域內分布的各種現象和過程,解決復雜的規劃,決策的管理問題。(有些官方,看看就行)

其他:略(嘿嘿嘿,可以去看看官方文檔,本文主要講數據變換,平時的基礎操作只能熟能生巧了)

  • 數據變換:對數據進行放大,縮小等幾何位置,形狀和方位的改變等操作。
方法描述操作方法
空間校正對于數據進行一些校正處理編輯器|空間校正|設置校正數據|設置校正方法、空間校正
橡皮頁變換對兩個圖層或多個圖層進行小型的幾何校正編輯器|空間校正|設置校正數據|設置校正方法|橡皮頁變換
邊匹配創建兩個相鄰圖層的位移連接編輯器|空間校正|設置校正數據|設置校正方法|邊捕捉
地理配準用于柵格數據的空間位置匹配編輯器|地理配準
翻轉將柵格數據通過數據中心點的水平軸線數據管理工具|投影和變換|柵格|翻轉
鏡像將柵格數據通過數據中心點的垂直軸線數據管理工具|投影和變換|柵格|鏡像
重設比例尺將柵格數據按照指定的比例分別沿X軸和Y軸放大或縮小數據管理工具|投影和變換|柵格|重設比例
扭曲將柵格數據通過輸入的控制點進行多項式變換數據管理工具|投影和變換|柵格|扭曲

自學疑惑

  • 為什么要進行地理配準
  • 是為了使所有的圖像的坐標系統一樣,從而在一個坐標系統中更好的顯示數據。

  • 為什么要建立拓撲關系
  • 拓撲bai檢查主要是檢查數據的拓du撲關系是否正確且完整,如果通過檢查,說明數據有完整的拓撲關系,錯誤的拓撲關系不存在,比如重復線,相交線的交點是斷點等情況。

  • 個人地理數據庫和文件地理數據庫的區別
  • 文件bai地理數據庫是ESRI公司的數據庫,du存儲格式為包含二進制文件的文zhi件夾,存儲能力dao1TB,支持任何平臺個人地理數據庫存儲格式為Microsoft Access,存儲能力為2GB,只支持Windows平臺。

  • 為什么要建立數據庫
  • 數據組織是在數據采集之后的按照一定的方式和規則對數據進行歸并,存儲和處理的過程,數據處理的好壞,直接影響到GIS系統的性能。地理數據庫是按照層次型的數據對象來組織地理數據,這些數據對象包括對象類(表格),要素類(要素)和要素數據類。

  • 數據的符號化和圖表化的方式顯示的區別和目的
  • 符號化:直接在圖像上顯示;圖表化:單獨建立一個圖表;共同目的:讓數據看起來更清晰明了。

  • 怎么從excel里面導入數據
  • 從catalog中的excel里面選擇從XY表創建要素類。

  • 柵格數據和矢量數據的區別
  • 柵格數據可以是照片,用像元組成,要波段信息;矢量數據是點線面,打開會有屬性表。

  • 為什么矢量分析和柵格分析可以分析三維空間信息,但是在實際中不能用于三維空間分析
  • 矢量數據模型三維分析方法主要是基于數學分析和圖論的思想;柵格數據以矩陣計算為理論基礎進行分析。當前,GIS的研究成果和應用系統主要集中于描述二維空間信息,各項技術已較為成熟,但由于二維地理信息系統將實際的三維實體采用二維表示,具有很大的局限性,大量的多維空間信息無法得到利用,因此必須用三維。

  • 為什么要建立和驗證拓撲關系
  • 拓撲關系本身就是點線,點面,線線,線面,面面之間的關系,進行拓撲驗證可以更好的驗證他們之間的關系,從而更好的實施操作

  • 拓撲錯誤類型以及好的解決方法
  • 常見錯誤類型:面不能相互重疊,面不能有縫隙,線不能相交,線不能有懸掛,其他錯誤

    推薦解決方法:

    面不能相互重疊:在錯誤上右鍵選擇 merge,將重疊部分合并到其中一個面里;

    面不能有縫隙:在錯誤上右鍵選擇 create feature,將縫隙部分生成一個新的要素,然后利用editor 下的 merge 把生成的面合并到相鄰的一個面里;

    線不能相交:部分重疊可以在錯誤上右鍵選擇 subtract 去除重復部分;

    線不能有懸掛:根據實際情況對線進行修改消除懸掛線;

    其他錯誤:。

    Arcgis和數據庫連接

    Arcpy

    基礎了解

  • 判斷文件是否存在
  • >>> result = arcpy.Exists(r'E:\arcgis 光盤\Chp3\Ex1\Blocks.shp') >>> print(result)
  • 判斷矢量數據要素數量
  • >>> arcpy.GetCount_management(r'E:\arcgis 光盤\Chp3\Ex1\Blocks.shp') >>> <Result '219'>

    地圖文檔部分:即mxd

    英語中文英語中文
    map地圖author作者
    mapping制圖summary小結
    document文檔description描述
    mapDocument地圖文檔default默認
    properties屬性relative相對
    current當前path路徑
    title標題relativepaths相對路徑
  • 引用和查看地圖文檔
  • >>> import arcpy >>> import arcpy.mapping as mp >>> mxd = mp.MapDocument('current') # current表示是當前地圖文檔 >>> mxd = mp.MapDocument(file) # 查看其它地圖文檔
  • API介紹
  • ''' dir(object):返回當前范圍內的變量,方法和定義的類型列表 str.startswith(str, beg=0, end=len(string)):檢查字符串是否以指定字符串開頭 hasattr(object, name):判斷對象是否包含對應的屬性 getattr(object, name[,defalut]):返回一個對象屬性值 '''
  • 修改地圖屬性
  • mxd.title = ur’’修改標題
    mxd.author = ur’’修改作者
    mxd.credits = ur’’修改單位
    mxd.relativePaths = False修改相對路徑
  • 保存地圖文檔
  • 地圖文檔保存APIMapDocument.save()
    地圖文檔另存為MapDocument.saveACopy(filename, {version})
    換個文件名保存副本mxd.saveACopy(ur’’)
    # 修改文檔示例 mxd.author = ur'' # 保存文檔 mxd.saveACopy(ur'')

    數據框部分

    英語中文英語中文
    data數據extent范圍
    frame框架zoomToSelectedFeatures縮放
    dataFrame數據庫selected選中
    active活動的feature要素
    activeDataFrame當前數據框zoomToSelectedFeatures縮放至選中要素
    TOC table of contents內容列表spatialReference空間參考
    refresh刷新layer圖層
    refreshTOC刷新內容列表geodatabase地理數據庫
    list列舉referenceScale參考比例尺
    General常規的rotation旋轉角度
    zoom縮放displayUnits顯示單位
    CGCS2000中國2000坐標系mapUnits地圖單位
  • 獲取數據框的名稱
  • >>> adf = mxd.activeDataFrame # 獲得數據框 >>> print(adf.name) # 數據框名稱
  • 列舉所有數據框
  • dfs = mp.ListDataFrames(mxd) for df in dfs:print(df.name)
  • 查看數據框的所有成員
  • callable(object) -> bool # 檢查一個數據框是否可以調用 for i in dir(adf):if not i.startswith("_") and callable(getattr(adf,i)):print(i,getattr(adf,i))
  • 動態旋轉地圖
  • adf.rotation # 數據框旋轉角度 acrpy.RefreshActiveView # 刷新活動視角 time.sleep(secs) # 推遲調用線程的運行,運行secs參數,表示進程掛起的時間
  • 查看數據框的空間參考
  • adf = mxd.activeDataFrame sr = adf.spatialReference # 空間參考 sr.name # 名稱 u'CGCS2000_3_Degree_GK_Zone_36' # 高斯投影
  • 查看數據框的四至空間范圍
  • ext = adf.extent # 數據框范圍 ext.XMin ext.XMax ext.YMin ext.YMax
  • 更改數據框顯示范圍以顯示全圖
  • ''' 1. 主要任務 將選中要素最大化顯示出來 2. 準備工作 用鼠標移動地圖,并用鼠標選擇欽南區 ''' adf.zoomToSelectedFeatures() # 縮放至選中要素 arcpy.RefreshActiveView() # 刷新活動視角
  • 跟蹤目標運動
  • import numpy as np ext = adf.extent xs = np.linespace(ext.XMin,ext.XMax,50) ys = np.linespace(ext.YMin,ext.YMax,50) xys = zip(xs,ys) for xy in xys:x=xy[0]y=xy[1]extent = arcpy.Extent(x,y,x,y)adf.panToExtent(extent)arcpy.RefreshActiveView() time.sleep()

    圖層部分

    英語中文英語中文
    Layer圖層transparency透明度
    len,length長度source來源
    visiable可見性extent范圍
    description描述FeatureLayer要素圖層
    definition定義SelectionSet選擇集
    query查詢symbology符號
    scale比例尺label標注
    min,minimum最小field字段
    max,maximum最大contain包含
    FID,FeatureID要素編號definitionQuery定義查詢
  • 獲取地圖內所有圖層
  • lys = mp.ListLayers(mxd) # 獲得所有圖層 for each in lys:print(each.name,)
  • 獲取數據框內所有圖層
  • lys = mp.ListLayers(mxd, data_frame=adf) # 獲得所有圖層 for each in lys:print(each.name,)
  • 圖層定位和模糊查詢
  • lys = mp.ListLayers(mxd, 'mohu*') # 獲得所有圖層 ly = lys[0] print(ly)
  • 查看圖層所有成員
  • lys = mp.ListLayers(mxd, data_frame=adf) # 獲得所有圖層 ly = lys[0] for i in dir(ly):if hasattr(ly,i) and not i.startswith("_"):print(i,getattr(ly,i))
  • 獲取圖層四至
  • lys = mp.ListLayers(mxd) # 獲得所有圖層 ly = lys[0] ext = ly.Extent() print(ext.XMin,ext.XMax,ext.YMin,ext.YMax)
  • 點和圖層之間的關系
  • # 驗證中心點在圖層之內 lys = mp.ListLayers(mxd) # 獲得所有圖層 ly = lys[0] ext = ly.Extent() x0 = (ext.XMin + ext.XMax)/2 y0 = (ext.YMin + ext.YMax)/2 p0 = arcpy.Point(x0,y0) ext.contain(p0) # 測試隨機點和圖層的關系
  • 平移或縮放圖層
  • adf = mxd.activeDataFrame # 獲得數據框 lys = mp.ListLayers(mxd) # 獲得所有圖層 ly = lys[0] extent = ly.Extent() adf.panToExtent(extent) # 平移 arcpy.RefreshActiveView() adf.extent = extent # 縮放
  • 平移或縮放某一選擇范圍
  • adf = mxd.activeDataFrame # 獲得數據框 lys = mp.ListLayers(mxd) # 獲得所有圖層 ly = lys[0] adf.extent = ly.getSelectedExtent() # 圖層的選擇范圍 adf.panToExtent(extent) # 平移 arcpy.RefreshActiveView() adf.extent = extent # 縮放 arcpy.RefreshActiveView()
  • 選擇圖層的數據集
  • adf = mxd.activeDataFrame # 獲得數據框 lys = mp.ListLayers(mxd) # 獲得所有圖層 ly = lys[0] adf.extent = ly.getSelectionSet()
  • 圖層的定義查詢
  • lys = mp.ListLayers(mxd) # 獲得所有圖層 ly = lys[0] qujie.definitionQuery # 獲取定義查詢qujie.definitionQuery = '查詢條件' # 設置定義查詢 arcpy.RefreshActiveView()qujie.definitionQuery = '' # 清除定義查詢 arcpy.RefreshActiveView()

    空間數據源

    英語中文英語中文
    DataSource數據源env環境
    DataLink數據鏈接replace替換
    Workspace工作空間overwrite覆蓋
  • 獲取數據源和屬性
  • lyr.isFeatureLayer # 是否要素圖層print(lyr.dataSource) # 數據源,返回路徑 print(lyr.datasetName) # 數據集名稱
  • 獲取數據源的工作空間,數據集的關系
  • # 工作空間 import os print(os.path.split(lyr.dataSource)[0])print(lyr.workaspacePath)# 數據名 print(os.path.split(lyr.dataSource)[1]) # 文件命名 print(lyr.datasetName) # 文件類型 print(os.path.splitext(lyr.dataSource))
  • 添加數據
  • arcpy.env.workspace = r'工作路徑' # 工作空間 layer = mp.Layer('區界.shp') # shp生成layer mp.ADDLayer(mxd.activeDataFrame,layer) # 添加圖層
  • 插入數據
  • layers = mp.ListLayers(mxd) refLyr = layers[1]print(refLyr.name) # 參考圖層名稱arcpy.env.workspace = r'工作路徑' # 工作空間 layer = mp.Layer('區界.shp') # shp生成layer mp.InsertLayer(mxd.activeDataFrame,refLyr,layer,"位置(bottom)") # 添加圖層
  • 保存圖層
  • layer = mp.ListLayers(mxd)[1] # 定位圖層 lyr = r'路徑' # 添加圖層 arcpy.env.overwriteOutput = True # 覆蓋輸出 layer.saveACopy # 保存圖層
  • 替換數據源
  • lyr.replaceDtaSource('','','')

    文件制圖

    英語中文英語中文
    export導出print打印
    JPEG,Joint Photographic Experts Group聯合圖像專家組PDF,Portable Document Format便攜式文檔格式
    ExportToPDF導出至pdfExportToJPEG導出至JPG
  • 數據框導出為pdf文件
  • dfPDF = r'路徑' # 目標jpg路徑 mp.ExportToPDF(mxd,dfPDF,mxd.activeDataFrame) # 導出圖片
  • 數據框導出為jpeg文件
  • dfjpeg = r'路徑' # 目標jpg路徑 mp.ExportToJPEG(mxd,dfjpeg,mxd.activeDataFrame) # 導出圖片
  • 地圖文檔導出為圖片
  • dfjpeg = r'路徑' # 目標jpg路徑 mp.ExportToJPEG(mxd,dfjpeg) # 導出圖片
  • 單文件批量出圖
  • lyr.definitionQuery = '條件' # 圖層過濾 extent = lyr.getExtent() # 獲取圖層范圍 adf.extent = extent # 設置數據框范圍 arcpy.RefreshActiveView() dfjpeg = r'路徑' # 目標jpg路徑 mp.ExportToJPEG(mxd,dfjpeg,mxd.activeDataFrame) # 導出圖片 lyr.definitionQuery='' # 消除過濾

    后續更新

    總結

    以上是生活随笔為你收集整理的Arcpy操作的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 在线欧美国产 | 在线观看成人免费视频 | 日韩免费一区二区三区 | 欧美视频日韩 | 四虎综合 | 国产伦精品一区二区三区视频痴汉 | 9.1成人看片免费版 日韩经典在线 | 99久久精品国产成人一区二区 | 日韩另类在线 | 国产精品自拍视频一区 | 日韩毛片儿 | 日韩人妻一区二区三区蜜桃视频 | 国产伦精品一区二区三区 | 一区二区三区黄色片 | 国产成人啪精品 | 久久久久久久一区 | 天天干一干| 欧美aaa级| a级免费网站| 福利在线国产 | 99热99这里只有精品 | 老司机深夜网站 | 女性向小h片资源在线观看 日本天天操 | 国产91久久精品一区二区 | 日本一区二区三区视频在线播放 | 福利视频不卡 | 91av视频网 | 精品无码一区二区三区 | 一区二区三区视频网 | 精人妻一区二区三区 | 成人午夜视频免费在线观看 | 日韩av综合网站 | 国产三级观看 | 欧美有码在线 | av片在线免费观看 | 国产视频一区二区三区在线观看 | 日本免费a级片 | 欧美区一区 | 久久免费视频3 | av高清 | 日本乱子伦xxxx | 久久7777| 日本成人福利视频 | 大地资源影视在线播放观看高清视频 | 91九色视频在线观看 | 久久性感视频 | 黑料福利 | 18禁免费无码无遮挡不卡网站 | www久久精品 | 久久久久久一区二区三区 | 天堂在线一区 | 99久久免费国产精精品 | 秋霞在线视频观看 | 日韩极品视频在线观看 | 中文天堂在线视频 | 6080黄色| jizz一区二区三区 | 亚洲一区,二区 | 婷婷亚洲天堂 | 欧美日韩精品一区二区在线播放 | 午夜影院污 | 久久av综合 | 精品亚洲永久免费精品 | 成年人午夜免费视频 | 麻豆亚洲av成人无码久久精品 | 精品无码人妻一区二区三区 | 欧美日韩一区二区视频在线观看 | 日本三级在线 | 日韩av三级在线 | 中文 欧美 日韩 | 操操综合网| 欧美cccc极品丰满hd | 成人片在线免费看 | 亚洲区在线 | 免费黄色视屏 | 人体内射精一区二区三区 | 免费成人电影在线观看 | 二十四小时在线更新观看 | 欧美日韩一区二区三区国产精品成人 | 91学生片黄 | 国产网友自拍 | 国产成人精品亚洲线观看 | 青娱乐国产 | 伊人国产在线视频 | 日韩中文字幕一区二区 | 亚洲成人999| 欧美h在线观看 | 亚洲欧美自偷自拍 | 人妻夜夜爽天天爽三区麻豆av网站 | 国产免费脚交足视频在线观看 | 国产在线观看不卡 | 亚洲私人影院 | 久久福利网 | 午夜性生活视频 | 中文无码精品一区二区三区 | 亚洲特级毛片 | 日韩视频一二三区 | 三级网站在线看 | 五月天爱爱 |