【筆記】《Python地理空間分析指南(第2版)》

看這本書的目的在於記錄一下Python做地理空間分析的工具,主要是開源的東西;快速翻一遍,且作記錄

這裏寫圖片描述

概述部分

  1. 埃博拉病毒與Ushahidi災害系統
  2. 法國西南部的拉斯科山洞,星空圖壁畫⇒” role=”presentation”>對事物的抽象
  3. 1832年的歐洲霍亂疫情中,病情和水井的製圖⇒” role=”presentation”>兩者分佈關係
  4. 1869年法國工程師繪製的1812年拿破崙東征俄羅斯戰敗的時序圖⇒” role=”presentation”>融合時間線、線寬、顏色、文字等方式表達
  5. 第一個GIS系統——加拿大國家地理信息系統CGIS
  6. 遙感——遠距離探測,如Landsat等
  7. DEM——數字高程模型,如SRTM(90m)、GDEM(30m)、WorldDEM(4m、要錢)等
  8. CAD——計算機輔助製圖,與GIS製圖的區別在於座標(GIS地理座標)
  9. OSM——OpenStreetMap,開源的GIS衆源數據
  10. GIS基本概念:專題地圖、空間數據庫、空間索引、元數據、地圖投影、渲染、影像數據、遙感顏色
  11. GIS矢量基本概念:數據結構、緩衝區、融合、簡化、疊置、合併、包含、聯合、連接、拓撲
  12. GIS柵格基本概念:波段運算、變化監測、柱狀圖、特徵提取、監督分類、非監督分類
  13. 用turtle模塊做了個小例子,基於Tkinter庫的圖形引擎

地理空間數據

  1. 互聯網地圖用web墨卡託投影,谷歌造的,原編號EPSG:900913,正式編號EPSG:3857
  2. 空間索引方法:四叉樹、R樹
  3. 地圖瓦片:網格與概要化,分級圖片
  4. 開源矢量庫OGR支持86+種矢量格式、商業的FME支持188+種
  5. Shapefile格式——Esri的並開放了標準,包括.shp/.shx/.dbf|.sbn/.sbx/.prj等
  6. AutoCAD文件格式——DXF、DWG,在地理空間分析中使用有限
  7. 標籤和標記格式——XML/KML/OSM/GML/GeoJSON/SVG/WKT(常用於prj)
  8. GeoJSON:JSON格式的一種,與Javascript無縫集成,WebGIS開發常用
  9. 影像數據——ASCII文本文件、TIFF、常規圖片(JPEG/GIF/BMP/PNG,需要地理參考文本輔助)、複雜類型(NetCDF、GRIB、HDF5,用于海洋、氣象等)、壓縮格式等
  10. 點雲數據——激光、雷達等產生,用於三維

地理空間技術概覽

  1. 地理空間軟件包實現的4個核心功能:數據訪問、幾何計算、可視化、元數據工具
  2. GDAL、OGR、GEOS、PROJ.4是地理空間分析產業商業、開源軟件的核心與靈魂,都是C/C++編寫的。另外Java寫的GeoTools瞭解一下
    這裏寫圖片描述
  3. GDAL:地理空間數據抽象庫,主要面對柵格數據訪問處理
  4. OGR:簡單特徵庫,面向矢量數據訪問處理
  5. PROJ.4:用於地圖投影
  6. CGAL:計算幾何算法庫,如多邊形直骨架線
  7. JTS:Java拓撲套件,Java實現的地理空間計算幾何庫
  8. GEOS:開源幾何引擎,是JTS庫的C++版實現,現存包括Python的腳本語言都自動綁定GEOS庫
  9. PostGIS:開源關係型數據庫PostgreSQL的模塊,大多由GEOS提供,實現了SQL查詢空間數據
  10. 其他支持空間分析的數據庫:Oracle Spatial、ArcSDE、Microsoft SQL Server、MySQL、SpatialLite
  11. 路徑分析——Esri網絡分析、PostGIS的開源pgRouting引擎
  12. 桌面工具——QGIS、OpenEV、GRASS GIS、uDig、gvSIG、OpenJUMP、Google Earth、NASA World Wind、ArcGIS;(國內:Supermap、MapGIS、GeoStar等)
  13. 元數據管理——GeoNetwork、CatMDEdit

Python地理空間分析工具

  1. GDAL的安裝——源碼編譯、大型軟件的一部分、安裝二進制發行包
  2. Python的網絡庫

    import urllib
    import ftplib
    import zipfile
    import tarfile
    • 1
    • 2
    • 3
    • 4
  3. Python的標籤解析器

    
    #歷史悠久(自帶)
    
    from xml.dom import minidom
    
    #元素樹(自帶)
    
    try:
        import xml.etree.cElementTree as ET
    except ImportError:
        import xml.etree.ElementTree as ET
    
    #專業解析HTML(等格式混亂的XML文件)
    
    from bs4 import BeautifulSoup
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
  4. WKT文本。注意:shapely爲GEOS提供一套Pythonic接口

    
    #使用shapely
    
    import shapely.wkt
    
    #也可以用OGR庫
    
    from osgeo import ogr
    ...
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  5. Python處理json

    
    #使用json模塊(自帶)
    
    import json
    
    #使用geojson模塊
    
    import geojson
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  6. PyShp,用於讀寫Shapefile文件,不支持任何幾何操作,只調用Python標準庫

    import shapefile
    • 1
  7. dbfpy3,Python實現,專門處理dbf文件

    from dbfpy3 import dbf
    • 1
  8. Shapely,通用幾何庫,是高級的、提供Python風格的GEOS庫幾何操作的庫,避免訪問文件,只聚焦幾何操作

    import shapely
    • 1
  9. Finoa,爲OGR庫的數據訪問功能提供簡潔的Python API,默認GeoJSON格式

    import finoa
    • 1
  10. GDAL,處理柵格數據;OGR,通用矢量數據庫

    from osgeo import ogr
    from osgeo import gdal
    • 1
    • 2
  11. NumPy,用於Python數組的快速處理、科學計算等,C實現的
  12. PIL,圖像編輯用,C實現的
  13. PNGCanvas,Python 實現的輕量級的圖像編輯
  14. GeoPandas,由Shapely、Fiona、PyProj、matplotlib、Descartes及其他必須庫構建的Pandas的地理空間擴展,數據庫支持
  15. PyMySQL,提供一套完整的Python實現的API實現MySQL的空間數據支持
  16. PyFPDF,Python寫的,處理PDF文件
  17. Spectral Python,SPy,Python光譜功能包,處理遙感應用,尤其是高光譜

Python與地理信息系統

  1. 距離兩側:平面(勾股)、球面(半正矢公示)、橢球面(Vincenty公式)
  2. 方位計算
  3. 座標轉換
  4. 重投影
  5. Shapefile文件編輯
  6. 查詢
  7. 可視化
  8. 電子表格
  9. GPS數據
  10. 地理編碼(geocoder-谷歌地圖、geopy-OSM)

Python與遙感

略,主要就是GDAL和PIL、PNGCanvas;例子包括圖像波段變換、圖像直方圖創建、圖像分類、圖像特徵提取、變化監測應用

Python與高程數據

  1. ASCII網格高程文件:gdal、numpy
  2. 地貌暈渲圖:linecache、numpy
  3. 創建等高線:gdal
  4. LIDAE數據網格化:laspy、PIL;voronoi創建Delaunay三角網

Python地理空間高級建模

這一章是幾個例子,給出了問題解決流程
示例:一張農作物健康地圖、一個洪水淹沒模型、一張彩色暈渲地圖、一張地形路徑地圖、一張街道路徑地圖、一張包含照片地理位置連接的shapefile文件

實時數據


  1. 一張地圖在被製造出來的那一刻,就已經過時了
  2. 實時路況的API
  3. 氣象追蹤,愛荷華州立大學的Mesonet平臺提供免費、實時的天氣數據應用服務
  4. NOAA提供了一套訪問OSM的WMS接口
  5. SRTM.py提供DEM下載



轉載。 https://blog.csdn.net/jianbinzheng/article/details/80215228
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章