تعریف شبکه جریان حوضه آبریز با پایتون و Pysheds + آموزش :: بیسین - سایت تخصصی مهندسی آب

عضويت در خبرنامه ايـميـل پايگاه بيسيــن - عضويت پس از کليک بر روي لينک فعال سازي که براي شما ارسال خواهد شد تکميل مي شود




تعریف شبکه جریان حوضه آبریز با پایتون و Pysheds + آموزش

 

اگر ما زمین پردازش با ماهیت GIS خود را به پایتون منتقل کنیم چه اتفاقی می افتد؟ چه اتفاقی می افتد اگر ما داده های فضایی رستری و برداری خود را به عنوان اشیاء و متغیرها در یک اسکریپت پایتون 3 پردازش کنیم؟ سپس می توانیم از خودمان بپرسیم که آیا لازم است که چرخه را مجددا بسازیم، لازم است یک جریان کاری را تغییر دهیم که قبلا در یک نرم افزار GIS کار می کند؟ دلیل و لزوم چیست؟

پاسخ ساده ای به این معضل وجود دارد: کنترل بیشتر

کار با Python به ما کنترل بیشتری بر روی geoprocessing خود می دهد، از آنجا که ما رابط کاربری گرافیکی (GUI) را با آیکون ها، دکمه ها و جعبه های محاوره ای آن را ترک می کنیم. با استفاده از پایتون در ژوپیتر نوت بوک، ما می توانیم با فایل های خاص پیوند داشته باشیم، geoprocess را تعریف کنیم و گزینه های آن، قطعه های داده های پیش نویس و نهایی، و نتایج خروجی به فرمت های SIG بردار / برش تولید کنیم. مزایای دیگری از تجزیه و تحلیل فضایی در پایتون وجود دارد؛ اینکه قابل بازیابی و سرعت پردازش هستند.

 

Pysheds پایتون 3 بسته طراحی شده برای تعریف حوضه و استخراج جریان شبکه است. در این کتابخانه نیاز به مجموعه ای از پردازش داده پیشرفته و کتابخانه های تجزیه و تحلیل فضایی به عنوان Numpy، Pandas، Scipy، Scikit-Image، Rasterio و... است. این آموزش روش کامل در یک نوت بوک Jupyter با پایتون و Pysheds را نشان می دهد:

 

  • یک مدل ارتقاء دیجیتال (بدون غرقاب) وارد کنید
  • تعیین شیب مسیر جریان
  • تعریف حوضه آبریز
  • تجزیه و تحلیل توده تجمعی جریان
  • استخراج شبکه جریان
  • تولید حوضه / بردار

از آنجا که اکثر کاربران در ویندوز کار می کنند، ما یک آموزش برای نصب Pyshed ها و کتابخانه های مورد نیاز در ویندوز با Anaconda انجام داده ایم.

 

لینک ها و دستورات مفید:

برای نصب Anaconda لطفا به اینجا مراجعه کنید.

صفحه اصلی Pysheds در اینجا در دسترس است.

 

برای نصب کتابخانه mplleaflet، لطفا در Anaconda Prompt تایپ کنید:

pip install mplleaflet

داده های ورودی:

شما می توانید داده های ورودی برای این آموزش را در این لینک دانلود کنید.

 

کد پایتون: (این کد را از اینجا دانلود کنید)

 

This is the python code used for the geoprocessing:

 

Import required libraries

import numpy as np

import matplotlib.pyplot as plt

import matplotlib.colors as colors

import geopandas as gpd

from pysheds.grid import Grid

import mplleaflet

%matplotlib inline

Open DEM file

grid = Grid.from_raster('../Rst/LocalDem.tif', data_name='dem')

def plotFigure(data, label, cmap='Blues'):

    plt.figure(figsize=(12,10))

    plt.imshow(data, extent=grid.extent, cmap=cmap)

    plt.colorbar(label=label)

    plt.grid()

plotFigure(grid.dem, 'Elevation (m)')

Define direction map

#N    NE    E    SE    S    SW    W    NW

dirmap = (64,  128,  1,   2,    4,   8,    16,  32)

grid.flowdir(data='dem', out_name='dir', dirmap=dirmap)

plotFigure(grid.dir,'Flow Directiom','viridis')

Define catchment

# Specify pour point

x, y = 285612.017,2936416.682

 

# Delineate the catchment

grid.catchment(data='dir', x=x, y=y, dirmap=dirmap, out_name='catch',

               recursionlimit=15000, xytype='label', nodata_out=0)

# Clip the bounding box to the catchment

grid.clip_to('catch')

# Get a view of the catchment

demView = grid.view('dem', nodata=np.nan)

plotFigure(demView,'Elevation')

#export selected raster

grid.to_raster(demView, '../Output/clippedElevations.tif')

Define accumulation grid and stream network

grid.accumulation(data='catch', dirmap=dirmap, pad_inplace=False, out_name='acc')

accView = grid.view('acc', nodata=np.nan)

plotFigure(accView,"Cell Number",'PuRd')

streams = grid.extract_river_network('catch', 'acc', threshold=200, dirmap=dirmap)

streams["features"][:2]

def saveDict(dic,file):

    f = open(file,'w')

    f.write(str(dic))

    f.close()

#save geojson as separate file

saveDict(streams,'../Output/streams.geojson')

Plot DEM and stream network

streamNet = gpd.read_file('../Output/streams.geojson')

streamNet.crs = {'init' :'epsg:32613'}

# The polygonize argument defaults to the grid mask when no arguments are supplied

shapes = grid.polygonize()

 

# Plot catchment boundaries

fig, ax = plt.subplots(figsize=(6.5, 6.5))

 

for shape in shapes:

    coords = np.asarray(shape[0]['coordinates'][0])

    ax.plot(coords[:,0], coords[:,1], color='cyan')

 

ax.set_xlim(grid.bbox[0], grid.bbox[2])

ax.set_ylim(grid.bbox[1], grid.bbox[3])

ax.set_title('Catchment boundary (vector)')

gpd.plotting.plot_dataframe(streamNet, None, cmap='Blues', ax=ax)

#ax = streamNet.plot()

mplleaflet.display(fig=ax.figure, crs=streamNet.crs, tiles='esri_aerial')





×

راهنماي حل مشکل دانلود: با توجه به اخلال درايو گوگل در ايران از آي پي ديگر کشورها براي دانلود فايل ها استفاده کنيد.



آب های زیرزمینی - مبانی و مفاهیم و پروژه های تخصصی

آبخوان ها و سفره های آب زیرزمینی علی رقم آنکه بخش مهم ذخایر طبیعی آب شیرین جهان را تشکیل می دهند، به دلیل ماهیت پنهان از چشم خود، همواره بیشترین فشار ها را در استفاده های بی رویه بر خود تحمل کرده و تنش اساسی بیلان داشته های آبی یک محدوده در این بخش رخ داده است. مدل ها و شبیه سازهای کامپیوتری شناخته شده ای در این زمینه وجود دارد که از گستردگی کاملی به منظور مطالعات و مدیریت برخوردار است.



آب های سطحی - مبانی و مفاهیم و پروژه های تخصصی

آب های سطحی، اگرچه در دسترس ترین منابع برای بشر محسوب می شوند، اما از نظر پایدار بسیار آسیب پذیر و در عین حال بیشترین آلودگی را دریافت و حمل می کنند. همچنین حوادث شدید آب و هوایی مشخصا و حدقل به صورت بصری، بیشتر بر روی این دسته از منابع قابل شناسایی است. شناخت درست آب های سطحی با روش های هیدرولوژیکی یکی از اهداف ماست.



آب های زیر سطحی - مبانی و مفاهیم و پروژه های تخصصی

آب های زیر سطحی،اهمیت بسیار زیادی در ارتباط یابی بین منابع آب و گیاهان دارند. خشسالی ها و ترسالی ها در این مفهوم خود را بیشتر برای انسان نشان می دهند. در عین حال مهم است که بدانیم اندرکنش آب های زیرزمینی و آب های سطحی بر اساس وضعیت لایه ای که آب های زیرسطحی در آن واقع شده است روی می دهد. شناخت درست آب های سطحی با روش های هیدرولوژیکی یکی از اهداف ماست.



برنامه نویسی منعطف به زبان پایتون

عنوان مهندسی برازنده فردی است که با معادلات یک علم آشنایی مشخصی داشته باشد. آشنایی با معادلات و مفهومات علم هیدرولوژی امکان کار با زبان های اسکریپت منعطفی چون پایتون را فراهم می کند که در نتیجه بسیاری از مسائل و مشکلات تخصصی و استثنا در مهندسی آب، امکان حل دقیق و کامپیوتری را پیدا کنند.



دریافت داده های مکانی پرکاربرد در مهندسی آب

بخش مهمی از خطا در محاسبات مهندسی، منتشر شده از داده های پایه ضعیف است. در این بخش می توانید به مجموعه گسترده ای از داده های مکانی چه در فرمت رستری و چه وکتوری، به منظور استفاده در نرم افزارهای مهندسی دسترسی داشته باشید. به مجموعه به مرور زمان افزوده می شود. همچنین محتوای پیشین در صورت امکان بروزرسانی می شود.



دریافت داده ها و اطلاعات پرکاربرد در مهندسی آب

دامنه وسیع داده ها و اطلاعات محیطی، الزام به دسترسی مطمئن و بروز از این آمار و اطلاعات را نشان می دهد. با توجه به گستردگی منابع دستیابی به داده در سطح اینترنت، ما در اینجا مجموعه بزرگی از داده ها را جمع آوری کرده ایم. شما می تواند به همراه توصیحات به این محتوا دسترسی داشته باشید.



آمار آنلاين-مقايسه اي بارش در حوضه هاي اصلي کشور

منبع: وزارت نيرو - اين نمودار ممکن است براي دقايقي به دليل بروزرساني غير فعال شود

توجه: احتمال عدم بروزرسانی به علت محرمانه شدن منابع داده






بروز شده در: 1400/07/17

ارتفاع كل ريزشهاي جوي از اول مهر لغايت 16 مهر سال آبي 1401-1400 بالغ بر 3 ميليمتر مي‌باشد. اين مقدار بارندگي نسبت به ميانگين دوره‌هاي مشابه درازمدت( 4 ميليمتر) 25 درصد كاهش و نسبت به دوره مشابه سال آبي گذشته( 3 ميليمتر) 0 درصد افزايش نشان مي‌دهد. ضمناً حجم بارش اول مهر تا پايان 16 مهر معادل 4.944 ميليارد مترمكعب مي‌باشد.








نظرات (۰)

فرم ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">

درباره بهترين هاي بيسيـــن بدانيد...

Bird

يکي از مهمترين اهداف اين سايت تهيه آموزش هاي روان از ابزارهاي کاربردي علوم آب است.

اهميت مطالعات محيطي با ابزارهاي نوين در چيست؟

امروز با فارغ التحصيلي جمع کثير دانشجويان سالهاي گذشته و حال، با گذر از کمي گرايي ديگر صرف وجود مدارک دانشگاهي حرف اول را در بازار کار نمي زند؛ بلکه سنجش ديگري ملاک؛ و شايسته سالاري به ناچار! باب خواهد شد. يکي از مهم ترين لوازم توسعه علمي در هر کشور و ارائه موضوعات ابتکاري، بهره گيري از ابزار نوين است، بيسين با همکاري مخاطبان مي تواند در حيطه علوم آب به معرفي اين مهم بپردازد.

جستجو در بيسين
سایت مهندسی آب

بیسین - سایت تخصصی مهندسی آب

سایت بیسین با معرفی مهم ترین و کاربردی ترین نرم افزارها و مدل های شبیه سازی در حیطه مهندسی آب، تلاش به تهیه خدمات یکپارچه و محلی از محاسبات هیدرولوژیکی و هیدرولیکی می کند

اطلاعات سايت

  • www.Basin.ir@gmail.com
  • بهزاد سرهادي
  • شناسه تلگرام: Basin_Ir_bot
  • شماره واتساپ: 09190622992-098
  • شماره تماس: 09190622992-098

W3Schools

W3Schools