午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > python geopandas讀取、創建shapefile文件的方法

python geopandas讀取、創建shapefile文件的方法

熱門標簽:上海正規的外呼系統最新報價 煙臺電話外呼營銷系統 長春極信防封電銷卡批發 銀川電話機器人電話 外賣地址有什么地圖標注 電銷機器人錄音要學習什么 如何地圖標注公司 預覽式外呼系統 企業彩鈴地圖標注

shapefile是GIS中非常重要的一種數據類型,在ArcGIS中被稱為要素類(Feature Class),主要包括點(point)、線(polyline)和多邊形(polygon)。作為一種十分常見的矢量文件格式,geopandasshapefile提供了很好的讀取和寫出支持,其DataFrame結構相當于GIS數據中的一張屬性表,使得可以直接操作矢量數據屬性表,使得在python中操作地理數據更方便。本文給大家介紹下用Python腳本中對Shapefile文件(.shp,.shx,.dbf等格式)進行讀寫操作。

開發準備

由于geopandas有好幾個依賴庫,推薦大家使用 Miniconda或是 Anaconda來安裝geopandas。

安裝命令:

conda install -c conda-forge geopandas   

國內鏡像:

conda install -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge geopandas                   

使用導入:import geopandas

我這里用的是geopandas 0.7的版本,版本間差異是不太大,最新0.8版本新增了一些查詢、入庫方面的特性。

shapefile文件信息的讀取

相比pyshp庫,geopandas庫的數據讀取、展示、分析、拓展的效果要更好。它可以讀取zip中的shapefile,還可以讀取GeoJson、ArcGIS中地理數據庫gdb,以及QGISGeoPackage 存放的矢量數據。

import geopandas as gpd
from matplotlib import pyplot as plt

data = gpd.read_file(r'E:\gisData\行政區劃數據2019\省.shp')#讀取磁盤上的矢量文件
#data = gpd.read_file('shapefile/china.gdb', layer='province')#讀取gdb中的矢量數據
print(data.crs)  # 查看數據對應的投影信息
print(data.head())  # 查看前5行數據
data.plot()
plt.show()#簡單展示

顯示效果:

shapefile文件的創建

要素類的創建效率很高,既能創建要素實體,也能寫入屬性信息和定義投影。下面先簡單介紹下三種要素類的創建方法。

點狀要素類的創建

核心代碼:

# 對應shapely.geometry中的Point,用于表示單個點,下面我們創建一個由若干Point對象組成
cq = geopandas.GeoSeries([geometry.Point(110, 60),
                          geometry.Point(110.5, 50.4),
                          geometry.Point(120, 55),
                          geometry.Point(107.8, 54.6),
                          geometry.Point(114.6, 50)],
                         crs='EPSG:4326',  # 指定坐標系為WGS 1984
                         index=['一號', '二號', '三號', '四號', '五號'],  # 相關的索引
                         )
# 導出數據為shapefile文件
cq.to_file('./output/{}.shp'.format(os.path.basename(__file__).replace('.py', '')),
           driver='ESRI Shapefile',
           encoding='utf-8')

線狀要素類的創建

核心代碼:

# 這里shapely.geometry.LineString([(x1, y1), (x2, y2), ...])用于創建多點按順序連接而成的線段
cq = geopandas.GeoSeries([geometry.LineString([(0, 0), (1, 1), (1, 0)]),
                          geometry.LineString([(0.5, 2), (0, 1), (-1, 0)])],
                         crs='EPSG:4326',
                         index=['一號線', 'b'])
cq.to_file('./output/{}.shp'.format(os.path.basename(__file__).replace('.py', '')),
           driver='ESRI Shapefile',
           encoding='utf-8')

面狀要素類的創建

核心代碼:

# 對應shapely.geometry中的Polygon,用于表示面,下面我們創建一個由若干Polygon對象組成
cq = geopandas.GeoSeries([geometry.Polygon([(14, 14), (13, 18), (20, 11), (18, 10)]),
                          geometry.Polygon([(0, 0), (10, 0), (10, 10), (0, 10)],
                                           [((1, 3), (5, 3), (5, 1), (1, 1)),
                                            ((9, 9), (9, 8), (8, 8), (8, 9))]),
                          geometry.Polygon([(11, 2), (11, 10), (12, 10), (12, 2)])
                          ],
                         index=['簡單面', '復雜面', 'c區'],  # 構建一個索引字段
                         crs='EPSG:4326',  # 坐標系是:WGS 1984
                         )
cq.to_file('./output/{}.shp'.format(os.path.basename(__file__).replace('.py', '')),
           driver='ESRI Shapefile',
           encoding='utf-8')

拓展應用實例

展高程點

高程點文件存儲格式與CASS中讀取的DAT格式一致,示例:【1,ZDH ,450000.000,4100000,20002,DYG,450000.000,4100000,2000 】其中,“1”代表的是“點號”,“ZDH”代表的是“代碼”,之后的分別是“東坐標、北坐標、高程值”即“Y、X、H ”或者是“X、Y、H ”

AutoCAD中展點效果

geopandas中展點效果

實現代碼

# -*- coding: utf-8 -*-

import pandas as pd
import geopandas as gpd
from shapely.geometry import Point
from matplotlib import pyplot as plt
from matplotlib.ticker import FuncFormatter

# 讀取數據
file_path = './data-use/高程數據.csv'
rankings_colname = ['name', 'mark', 'longitude', 'latitude', 'height'];
df = pd.read_csv(file_path, header=None, names=rankings_colname)
# print(df.head(5))#輸出前五行數據查看
xy = [Point(xy) for xy in zip(df['longitude'], df['latitude'])]
pts = gpd.GeoSeries(xy)  # 創建點要素數據集
#保存為SHP文件
pts.to_file('./output/展高程點.shp', driver='ESRI Shapefile', encoding='utf-8')
"""fig是用來設置圖像大小參數,ax是行列有多少個點"""
fig, ax = plt.subplots(figsize=(8, 6))  # 返回一個包含figure和axes對象的元組
ax = pts.plot(ax=ax,
              facecolor='white',
              edgecolor='black',
              marker='X',
              linewidth=0.5,  # 內外符號比例系數
              markersize=12,
              label='高程點')
# 地圖標注
new_texts = [plt.text(x_ + 1, y_ + 1, text, fontsize=8) for x_, y_, text in
             zip(df['longitude'], df['latitude'], df['name'])]


# 設置坐標軸
def formatnum(x, pos):
    # return '$%.1f$x$10^{4}$' % (x / 10000)#科學計數法顯示
    return int(x)  # 取整顯示


formatter = FuncFormatter(formatnum)
ax.yaxis.set_major_formatter(formatter)

# 美觀起見隱藏頂部與右側邊框線
ax.spines['right'].set_visible(False)
ax.spines['top'].set_visible(False)
plt.grid(True, alpha=0.4)  # 顯示網格,透明度為50%
ax.legend(title="圖例", loc='lower right', ncol=1, shadow=True) # 添加圖例
plt.title('展高程點', fontdict={'weight': 'normal', 'size': 20}) # 設置圖名改變圖標題字體
# 保存圖片
plt.savefig('images/展高程點.png', dpi=300, bbox_inches='tight', pad_inches=0)
plt.show()

點集轉面

將一系列點的集合轉為面狀要素類,下面以甘肅省的地震帶為例(字段對應:名稱,面索引,點索引,經度,緯度)。

數據預覽

效果預覽

實現代碼

import geopandas as gpd
import pandas as pd
from shapely.geometry import Polygon
from matplotlib import pyplot as plt

raw = pd.read_excel('./data-use/甘肅省地震帶.xls')  # 原始數據
# 轉換為面要素
output = raw.groupby('id') \

    .apply(lambda df: Polygon([(x, y) for x, y in zip(df['longitude'], df['latitude'])])) \

    .to_frame(name='geometry')

# 轉換為GeoDataFrame
output = gpd.GeoDataFrame(output, crs='EPSG:4326')
output.plot()
# 地圖標注
new_longitude = raw.groupby('name', as_index=False,)['longitude'].mean()
new_latitude = raw.groupby('name', as_index=False)['latitude'].mean()
new_df = pd.merge(pd.DataFrame(new_longitude),pd.DataFrame(new_latitude))
new_texts = [plt.text(x_ , y_ , text, fontsize=8) for x_, y_, text in
             zip(new_df['longitude'], new_df['latitude'], new_df['name'])]
# 導出shapefile
output.to_file('output/地震帶.shp')  
plt.show()

創建緩沖區、多環緩沖區

實現代碼:

import os
import shapely
import geopandas as gpd
import matplotlib.pyplot as plt

polygon = shapely.geometry.Polygon([(0, 0), (1, 0), (1, 1), (0, 1)])
# 分別繪制多邊形、多邊形正向緩沖區,坐標系是WGS1984,單位是度
cq = gpd.GeoSeries([polygon,
                    polygon.buffer(distance=1),
                    polygon.buffer(distance=3)],
                   crs='EPSG:4326')
# 導出數據為shapefile文件
cq.to_file('./output/{}.shp'.format(os.path.basename(__file__).replace('.py', '')),
           driver='ESRI Shapefile',
           encoding='utf-8')
ax = cq.plot(alpha=0.2)
ax.axis('off')  # 取消坐標軸的顯示
plt.show()

寫在最后

附相關完整代碼的下載,還有更多有趣的內容,感興趣的朋友們可以自行實踐。喜歡的朋友們可以點個關注,后續將持續更新,精彩無限^ - ^

鏈接: https://pan.baidu.com/s/1g7G8sQ17-9XIhojyQ1M7Ww

提取碼: 59vz

最后給大家強烈安利一個geopandas學習博客: https://www.cnblogs.com/feffery/tag/geopandas/

以上就是python geopandas讀取、創建shapefile文件的方法的詳細內容,更多關于python讀取shapefile文件的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • Python Pandas分組聚合的實現方法
  • python中pandas對多列進行分組統計的實現
  • 詳解python pandas 分組統計的方法
  • Python Pandas實現數據分組求平均值并填充nan的示例
  • Python學習筆記之pandas索引列、過濾、分組、求和功能示例
  • Python Pandas的簡單使用教程
  • Python pandas入門系列之眾數和分位數
  • Python pandas求方差和標準差的方法實例
  • 使用Python pandas讀取CSV文件應該注意什么?
  • 利用python Pandas實現批量拆分Excel與合并Excel
  • python pandas分組聚合詳細

標簽:佳木斯 西寧 潮州 珠海 湖北 盤錦 上饒 宜昌

巨人網絡通訊聲明:本文標題《python geopandas讀取、創建shapefile文件的方法》,本文關鍵詞  python,geopandas,讀取,創建,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python geopandas讀取、創建shapefile文件的方法》相關的同類信息!
  • 本頁收集關于python geopandas讀取、創建shapefile文件的方法的相關信息資訊供網民參考!
  • 推薦文章
    久久精品国产精品青草色艺| 欧美 日韩 综合| 亚洲AV无码国产成人久久| 亚洲av永久无码国产精品久久| 日韩av在线播| 免费成人进口网站| 色综合中文字幕| 欧美午夜片在线观看| 欧美一级在线视频| 久久国产加勒比精品无码| 国产成人激情视频| 久久精品综合一区| 日本一二区免费| 成熟人妻av无码专区| 九九热国产精品视频| 九九热在线免费观看| 免费看污视频的网站| 97人妻精品一区二区三区视频| 少妇无套内谢久久久久| 69成人免费视频| 四虎永久免费影院| 男人的天堂免费| 污色网站在线观看| 日韩中文字幕免费在线| 亚洲四色影视在线观看| 久久伊人中文字幕| 欧美精品一区二区成人| 无码人妻丰满熟妇区毛片| 青娱乐精品在线| 男的插女的下面视频| 99影视tv| 日韩欧美激情一区| 日本亚洲三级在线| 中文字幕精品一区二区精| 国产一区二区三区精品在线| 99国产精品久久久久久| 中文字幕成人一区| 51国偷自产一区二区三区的来源 | 一级片视频免费| 久久综合五月天婷婷伊人| 亚洲三级黄色在线观看| 免费的一级黄色片| 日本一级淫片色费放| 蜜桃视频污在线观看| 久久99久久精品欧美| 麻豆一区二区99久久久久| 国产精品白丝jk黑袜喷水| 国产精品婷婷午夜在线观看| 亚洲色图一区二区| av观看在线免费| avhd101老司机| 久久久精品麻豆| 韩国日本在线视频| 天堂а√在线中文在线鲁大师| 免费观看av网站| 国产成人av免费在线观看| 亚洲av无码一区二区三区观看| 久久综合伊人77777麻豆| 欧美日韩高清一区二区三区| 欧美性大战xxxxx久久久| 91精品国产综合久久蜜臀| 欧美日韩二区三区| 亚洲午夜久久久久中文字幕久| 中文字幕一区二区三| 久久精品亚洲精品国产欧美 | 亚洲综合视频一区| 青草影院在线观看| 久久精品日产第一区二区三区高清版| 色综合久久久久综合99| 亚洲国产欧美日韩精品| 5566成人精品视频免费| 99超碰麻豆| 亚洲精品视频导航| 天天操天天爱天天爽| 日本精品二区| 国产经品一区二区| 亚洲伊人成综合成人网| 亚洲v日韩v欧美v综合| 亚洲AV无码片久久精品| 日本免费www| 国产女人18毛片18精品| av一区二区三区四区| 国产成人精品免高潮费视频| 国产曰肥老太婆无遮挡| 天天摸天天碰天天添| 国产色婷婷国产综合在线理论片a| 欧美成人小视频| 国产日韩专区在线| 亚洲午夜精品久久| 人妻夜夜添夜夜无码av| 日韩精品一区二区免费| 国产免费999| 日本黄色一区二区三区| 夜夜嗨av色一区二区不卡| 苍井空浴缸大战猛男120分钟| 国产精品suv一区二区69| 粉嫩一区二区三区在线看| 亚洲欧洲色图综合| 亚洲大胆美女视频| 国产精品日本精品| 精品一区二区视频在线观看 | 午夜伊人狠狠久久| 色综合视频一区二区三区高清| 欧美性猛交xxxx乱大交蜜桃| 精品久久久久av影院| 99久久国产免费免费| 国产一区二区视频免费在线观看| 国产一级视频在线观看| 成人爱爱电影网址| 成人疯狂猛交xxx| 日韩精品一卡二卡| 伊人亚洲福利一区二区三区| 亚洲jizzjizz日本少妇| 色涩成人影视在线播放| 国产999精品久久久| 亚洲最大色综合成人av| jjzz黄色片| 自拍偷拍福利视频| 国产传媒一区在线| 欧美日韩国产色视频| 亚洲男人天天操| 亚洲天堂av免费在线观看| 亚洲成人久久精品| 91精品国产欧美一区二区成人 | 在线成人激情视频| 亚洲高清在线观看一区| 日韩电影在线观看一区二区| 中文字幕国产一区二区| 午夜精品久久久久影视| 亚洲成人激情在线| 欧美国产乱视频| 国产一二三四五| 亚洲性在线观看| 久久久久综合| 欧美一区二区三区视频免费播放 | 九色成人免费视频| 日韩影院一区二区| 亚洲欧洲日产国码av系列天堂| 波多野结衣精品久久| 中文在线观看免费网站| 亚洲欧美二区三区| 日韩免费av片在线观看| 中文字幕一区久久| 国产一区二区美女| 97国产真实伦对白精彩视频8| 91视频最新入口| 国产高清成人久久| 国产永久免费视频| 国产日产亚洲精品系列| 亚洲免费人成在线视频观看| 久久久久人妻精品一区三寸| 国产精品一区二区人妻喷水| 人妻换人妻a片爽麻豆| 国产一伦一伦一伦| 国产精品人人人人| 成人免费高清视频在线观看| 亚洲第一主播视频| 欧美激情欧美激情在线五月| 欧美日韩一区二区在线| 中文字幕日本精品| 精品亚洲第一| 捆绑凌虐一区二区三区| 亚洲a视频在线观看| 欧美精品电影免费在线观看| 日本高清黄色片| 成人午夜大片免费观看| 国产精品一区久久| 日韩精品视频免费看| 亚洲91精品在线观看| 黄色片网站免费在线观看| 国产精品伊人日日| 成人爱爱电影网址| 免费看污污视频| 91蜜桃网址入口| 国产精品福利网站| 战狼4完整免费观看在线播放版| 在线视频一二三区| 中文av免费观看| 亚洲图片在线综合| 偷拍视频一区二区| 日本五十熟hd丰满| 欧美日韩一区成人| 亚洲精品偷拍视频| av成人动漫在线观看| 国内精久久久久久久久久人| 精品一区二区三孕妇视频| 日韩精品亚洲一区二区三区免费| 97se亚洲国产综合自在线| 日韩性xxxx爱| 能直接看的av| 91久久国产综合久久| 一本色道婷婷久久欧美| 久久国产日韩| 国模视频一区二区三区| 俄罗斯女人裸体性做爰| 性色av蜜臀av| 制服丝袜亚洲播放| 亚洲一区国产精品| 国产亚洲综合视频| 日本不卡视频在线观看| 日韩在线激情视频| 黄色性视频网站| 91丨九色丨国产丨porny| 最近2019中文字幕在线高清| 人人干人人视频| 欧洲精品久久一区二区| 色一区av在线| a√天堂在线观看| 亚洲久久在线观看| 91麻豆精品国产91久久久资源速度| 亚洲成人精品电影在线观看| 一区二区三区在线免费播放| 网站免费在线观看| 热99精品只有里视频精品| 国产亚洲综合色| 亚洲一区二区乱码| 日韩精品极品在线观看播放免费视频| 一卡二卡三卡四卡| 国产精品国产三级国产普通话蜜臀| 久久精品国产亚洲精品| 精品这里只有精品| 91丨porny丨首页| 欧美日韩在线高清| 国产一区二区网址| 亚洲综合中文字幕在线观看| 国产一区免费看| 日韩免费高清av| 国产一二三四五| 久久 天天综合| 国产一区二区成人| 黄色大片中文字幕| 成人av在线观| 欧美日韩在线观看一区| 久久中文在线| 91精品国产色综合| 国产精品变态另类虐交| 日韩一级免费观看| 中文字幕人妻一区二区三区在线视频| 91蝌蚪视频在线| 亚洲色图 激情小说| 日韩成人毛片视频| 中文字幕第2页| 肉色丝袜一区二区| 久久久亚洲精品石原莉奈| 午夜久久久久久久久久一区二区| 91精品国产综合久久久久久| 亚洲人成在线一二| 国产97在线播放| 欧美精品久久| 国产精品动漫网站| 91精品人妻一区二区三区| 欧美日韩综合在线观看| 天天摸天天碰天天爽天天弄| 99久久婷婷国产综合精品| 亚洲午夜免费电影| 精品88久久久久88久久久| 久久亚洲精品国产亚洲老地址| 国产免费一区二区三区在线观看| 亚洲精品乱码久久久久久蜜桃91| 九一精品在线观看| 人人艹在线视频| 国产情侣一区二区| 国产精品91一区二区| 一区二区三区产品免费精品久久75| 欧美一区二区三区影视| 欧美夫妻性生活xx| 国产精品视频免费一区| 欧美 国产 综合| jizz中文字幕| 999免费视频| 91色在线porny| 欧美亚洲国产怡红院影院| 日韩视频免费看| 国产 高清 精品 在线 a| 黄色国产一级视频| www久久久久久久| 国产强被迫伦姧在线观看无码| 成人晚上爱看视频| 在线亚洲欧美专区二区| 久久视频在线播放| 精品国产乱码久久久久久88av| 日韩精品一区二区三区不卡| 毛片视频免费播放| 高h放荡受浪受bl| 中文字幕av免费专区久久| 欧美一区二区三区在线观看| 2020久久国产精品| 国产又黄又爽免费视频| 成年人的黄色片| 国产精品无码AV| 国产视频亚洲色图| 精品国产成人系列| 国产欧美一区二区白浆黑人| 男女超爽视频免费播放| 黄色片网站在线播放| 久久精品91| 亚洲一二三四区不卡| 日日骚久久av| 欧美国产综合视频| 天天躁日日躁狠狠躁av麻豆男男 | 国产激情第一页| 一级片一区二区三区| 不卡电影一区二区三区| 欧美一区二区三区男人的天堂| 欧美亚洲成人xxx| www.夜夜爱| 天天天天天天天天操| 久久成人综合网| 91久久久免费一区二区| 97精品伊人久久久大香线蕉 | 麻豆一区在线观看| 日本不卡一区二区| 欧美午夜片在线免费观看| 欧美高清视频在线播放| 手机福利在线视频| av资源在线免费观看| 久久精品国产在热久久| 欧美丝袜丝交足nylons图片| 日本精品久久电影| 妞干网在线免费视频| 少妇熟女视频一区二区三区| 日韩精品伦理第一区| 麻豆网站免费观看| 久久精品99北条麻妃| 久久精品一区二区三区不卡牛牛| 亚洲国产精品va在线看黑人| 7777奇米亚洲综合久久| 日日干日日操日日射| 一级黄色大片免费| 亚洲欧美日韩一区二区| 久久亚洲精品中文字幕冲田杏梨| 中文字幕免费在线不卡| 亚洲伦理一区二区三区| 国产一区二区三区av电影| 91精品欧美久久久久久动漫| av成人动漫在线观看| 国产成人aaa| 日韩一区二区三区四区| 亚洲综合中文字幕在线| 中国男女全黄大片| www.久久久久久| 欧美性极品少妇精品网站| 欧美日韩精品在线一区二区| 97精品人人妻人人| 精品人妻伦一二三区久久| 亚洲网友自拍偷拍| 久久精品99国产精品酒店日本| 亚洲国产一区二区精品视频 | 五月婷婷激情综合| 欧美亚洲成人精品| 国产成人黄色网址| 99久久免费国产精精品| 大荫蒂欧美视频另类xxxx| 国产精品扒开腿做爽爽爽男男| 亚洲欧美日韩综合网| 精品国产伦一区二区三| 色综合中文字幕国产| 国产精品久久久久久久久久久不卡 | 天堂av资源在线| 欧美性视频一区二区三区| 亚洲精品欧美日韩| 国产福利在线观看视频| 韩国欧美国产一区| 亚洲国产精品高清久久久| 亚洲国产高清国产精品| 欧美又粗又大又长| 国产无遮挡一区二区三区毛片日本| 久久在线免费观看视频| 可以免费观看av毛片| 国产av无码专区亚洲a∨毛片| 91九色02白丝porn| 国产精品swag| 成人在线观看高清| 欧美韩国日本一区| 2021久久精品国产99国产精品| 亚洲怡红院在线| 日本欧美一区二区三区乱码| 亚洲成人av在线| 糖心vlog在线免费观看| 中文字幕av资源| 欧美性jizz18性欧美| 亚洲欧洲美洲综合色网| 欧美亚洲国产日本| 日本精品一二三区| 国产一区二三区| 一夜七次郎国产精品亚洲| 精品无码一区二区三区爱欲| 国产乱人乱偷精品视频a人人澡| 欧美午夜片在线看| 日韩电影天堂视频一区二区| 日本熟妇成熟毛茸茸| 亚洲最快最全在线视频| 亚洲a一级视频| 男人av资源站| 中文字幕亚洲在| 国产日韩专区在线| 又嫩又硬又黄又爽的视频| 日本一区二区三区四区在线视频 | 国产精品国产一区二区三区四区| 在线观看网站黄不卡| 久久久婷婷一区二区三区不卡| 久久精品久久精品久久| 亚洲成人免费影院| 国产精品一区二区三区不卡 | 99九九99九九九99九他书对| 久久精品噜噜噜成人av农村| 久久亚洲欧美日韩精品专区| 佐山爱在线视频| 99久久综合色| 国产精品h片在线播放|