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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python空间分析_读书笔记——《python地理空间分析指南》

發(fā)布時間:2025/6/17 python 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python空间分析_读书笔记——《python地理空间分析指南》 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文為《Python地理空間分析指南(第2版)》的讀書摘錄,順便挖個坑,進一步對python的幾個包做學習整理。

本筆記的用途:了解python地理空間處理的技術框架和實現(xiàn)途徑。

第三章 地理空間技術概覽

一般來說,地理空間軟件包不同程度上實現(xiàn)了以下4種高級核心功能:數(shù)據(jù)訪問;幾何計算(包括數(shù)據(jù)重投影);可視化;元數(shù)據(jù)工具。

GDAL, OGR, GEOS和PROJ.4庫是地理空間分析產業(yè)商業(yè)、開源軟件的核心和靈魂。

數(shù)據(jù)訪問

GDAL (The Geospatial Data Abstraction Library) 為柵格數(shù)據(jù)提供了一個單一、抽象的數(shù)據(jù)模型。

OGR 處理矢量數(shù)據(jù),X11/MIT開源授權協(xié)議。

幾何計算

PROJ.4 投影庫能夠描述任何投影信息,為GDAL和OGR庫處理矢量、柵格數(shù)據(jù)提供支持。

CGAL 計算幾何算法庫

JTS 是Java地理空間計算幾何庫,實現(xiàn)了SQL的開放地理空間聯(lián)盟(OGC)簡單要素標準。

GEOS 開源幾何引擎,JTS的C++版本實現(xiàn)。

PostGIS 空間數(shù)據(jù)庫,是PostgreSQL的一個模塊,免費開源。

可視化

QGIS (Quantum GIS) 開源的地理信息系統(tǒng),是基于GDAL/OGR庫和GEOS庫構建的,所以能使用PostGIS,并且支持這些軟件包提供的數(shù)據(jù)源。

OpenEV 最快的柵格數(shù)據(jù)查看器,支持GDAL/OGR庫和PROJ.4庫的所有功能,方便瀏覽和數(shù)據(jù)轉換。

ArcGIS

元數(shù)據(jù)管理

地理空間數(shù)據(jù)集的元數(shù)據(jù)能夠遵循并保證數(shù)據(jù)集的完整性,而且可以追溯到數(shù)據(jù)生產商。格式正確的元數(shù)據(jù)還允許自動編目、索引搜索和數(shù)據(jù)集集成。

GeoNetwork 是開源的、使用Java實現(xiàn)的管理地理空間數(shù)據(jù)的目錄服務。

Python庫

網絡庫 urllib ftplib zipfile xml beautifulsoup4 lxml

Json庫 json geojson osgeo.ogr

shapefile文件 Pyshp

import shapefile

shp = shapefile.Reader("point.shp")

for feature in shp.shapeRecords():

point = feature.shape.points[0]

rec = feature.record[0]

print(point[0], point[1], rec)

dbf文件 dbfpy3

Shaplely庫 是高級的Python風格的GEOS庫幾何操作的做,它完全依賴其他模塊導入或導出數(shù)據(jù),功能聚焦于幾何操作方面。

from shapely import wkt, geometry

wktPoly = "POLYGON((0 0, 4 0, 4 4, 0 4, 0 0))"

poly = wkt.loads(wktPoly)

print(poly.buffer(5.0).difference(poly).area) # 158.4137

Fiona 模塊為OGR庫的數(shù)據(jù)訪問功能提供了一套簡潔的Python API,默認輸出格式是GeoJSON。

import fiona

import pprint

f = fiona.open("...")

print(f.driver, f.crs, f.bounds, f.schema)

pprint.pprint(f[1])

GDAL

from osgeo import gdal

raster = gdal.Open("....tif")

print(raster.RasterCount, raster.RasterXSize)

PIL 圖像編輯,升級版本Pillow,輕量級PNGCanvas,柵格化Shapefile文件

GeoPandas

import geopandas

import matplotlib.pyplot as plt

gdf = geopandas.GeoDataFrame

census = gdf.from_file("....shp") # 打開并存儲為GeoJSON格式

census.plot()

plt.show()

Numpy

pymysql 提供有限的空間功能

pyFPDF 一種輕量級的創(chuàng)建包括地圖等PDF文件的解決方案。

Spectral Python 一款專門處理遙感應用的高級功能包。

重投影

Shapefile文件編輯

.shp文件包含幾何圖形,.dbf文件包含幾何圖像相關的屬性信息。

import shapefile

r = shapefile.Reader("M")

print(r.bbox, r.shapeType, r.numRecords)

# dbf文件是簡單的數(shù)據(jù)庫格式,類似行列式的電子表格結構,每一列通過標簽定義它包含的信息。

print(r.fields)

# field name, field type, field length, decimal length

# DeletionFlag, ...

# 通過字段訪問數(shù)據(jù)

fieldNames = [item[0] for item in r.fields[1:]]

name10 = fieldNames.index("NAME10")

print(r.record(2)[name10])

總結

以上是生活随笔為你收集整理的python空间分析_读书笔记——《python地理空间分析指南》的全部內容,希望文章能夠幫你解決所遇到的問題。

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