طراحی یک شبکه رودخانه با عبارات (QGIS3)
مشارکت کننده: استیون کیم
در آموزش قبلی ایجاد نقشه جهانی بلوک (QGIS3) از عبارات برای مقیاس بندی مقادیر استفاده کردیم و یک رمپ رنگی اعمال کردیم. ما بر روی آن مفاهیم بنا میکنیم و یاد میگیریم که چگونه از عبارات برای تجسم رودخانهها به سبک محبوب استفاده کنیم.
توجه داشته باشید
این آموزش بر روی استفاده از عبارات برای یک ظاهر طراحی تمرکز دارد. می توانید آموزش دیگر ما ایجاد یک نقشه حوضه رودخانه رنگی (QGIS3) را بررسی کنید که نسخه متفاوتی از نقشه نشان داده شده در اینجا را با استفاده از یک گردش کار مبتنی بر ابزار ایجاد می کند.
نمای کلی کار
ما از عباراتی برای فیلتر کردن و استایل کردن رودخانههای آمریکای جنوبی استفاده میکنیم – با عرض خط نشاندهنده ناحیه مرتفع و رنگهایی که نشاندهنده شناسه حوضه از HydroRIVERS هستند.
دریافت داده ها
مجموعه داده HydroRIVERS پوشش جهانی یکپارچه از مسیرهای رودخانه با اندازه ثابت را فراهم می کند، که توسط اطلاعات هندسی پشتیبانی می شود که امکان تجزیه و تحلیل اولیه توپولوژی شبکه رودخانه مانند اتصال جریان و فواصل را فراهم می کند. داده ها زیرمجموعه ای از بسته جامع HydroATLAS از WWF است. بیایید شکل فایل رودخانه ها را برای آمریکای جنوبی دانلود کنیم.
- از صفحه اصلی HydroRIVERS دیدن کنید .
- این صفحه دارای پیوندهایی برای عصاره های جهانی و منطقه ای HydroRIVERS در قالب های shapefile و geodatabase است. به پایین اسکرول کنید و روی لینک دانلود شکل فایل کلیک کنید. فایل دانلود شده ای که برای این آموزش استفاده می شود را مشاهده خواهید کرد .
South AmericaHydroRIVERS_v10_sa_shp.zip
برای راحتی، میتوانید مستقیماً یک کپی از لایه بالا را از زیر دانلود کنید: HydroRIVERS_v10_sa_shp.zip
منبع داده: [HYDROSHEDS]
HydroRIVERS_v10_sa_shp.zipفایل را در مرورگر QGIS بیابید و آن را گسترش دهید. فایل را انتخاب کنیدHydroRIVERS_v10_sa_shp/HydroRIVERS_v10_sa.shpو آن را روی بوم بکشید.
- اکنون یک لایه جدید
HydroRIVERS_v10_saدر QGIS بارگذاری می شود و باید نقشه رودخانه های آمریکای جنوبی را مشاهده کنید. بر روی Open Layer Styling Panel کلیک کنید .
- تغییر از Single Symbol به Rule-based .
- روی قانون پیش فرض دوبار کلیک کنید تا وارد کادر گفتگوی Edit Rule شوید .
- برای فیلتر کردن با استفاده از یک عبارت، روی Filter ε کلیک کنید . با این کار Expression Builder باز می شود .
- کادر Expression را در سمت چپ انتخاب کنید تا عبارت را به صورت زیر وارد کنید و روی OK کلیک کنید . این عبارت ویژگی های رودخانه ای را با مساحت مرتفع برابر یا بیشتر از ۱۰۰ کیلومتر مربع انتخاب می کند.
"UPLAND_SKM" >= 100
- نقشه اکنون رودخانه های فیلتر شده با مناطق مرتفع بزرگ را نشان می دهد. شما می توانید این آستانه را بر اساس مقیاس منطقه خود تنظیم کنید.
- اکنون که از یک عبارت برای فیلتر کردن ویژگی ها استفاده کرده ایم، اجازه دهید از یک عبارت برای رنگ آمیزی هر بخش رودخانه بر اساس فیلد استفاده کنیم
MAIN_RIV. به گزینههای Symbol در پانل استایلسازی به پایین بروید و Simple Line را انتخاب کنید تا گزینههای استایلی مانند رنگ، عرض خط و موارد دیگر ظاهر شود. روی دکمه رد تعریف داده برای رنگ کلیک کنید و در منو Edit… را انتخاب کنید.
- این کادر گفتگوی Expression Builder را برای رنگ ظاهر می کند . عبارت زیر را وارد کنید. این عبارت توابع را با هم ترکیب می کند
ramp_color()وscale_linear()رنگ ها را از رمپ رنگ طیفی با استفاده از محدوده مقادیر شناسه MAIN_RIV انتخاب می کند . برای خروج از دیالوگ روی OK کلیک کنید .
ramp_color('Spectral',scale_linear("MAIN_RIV", minimum("MAIN_RIV"),maximum("MAIN_RIV"),0,1))
- در گفتگوی Edit Rule ، بر روی دکمه بازگردانی داده تعریف برای پهنای Stroke کلیک کنید و Edit… را در منو انتخاب کنید. عبارت زیر را وارد کنید. مقیاس بیان، عرض خط را بر اساس مساحت مرتفع هر بخش رودخانه، با حداقل ۰٫۰۱ میلی متر تا حداکثر ۰٫۱ میلی متر برای رودخانه هایی با مساحت مرتفع مساحت یا بزرگتر از ۱۰۰۰۰ کیلومتر مربع، تعیین می کند.
scale_linear("UPLAND_SKM",100,10000,0.01,0.1)
- برای خروج از دیالوگ روی OK کلیک کنید . خطوط رودخانه اکنون در عرض های مختلف بر اساس منطقه مرتفع خود ارائه می شوند. عبارت باید برای هر ویژگی ارزیابی شود و بنابراین رندر ممکن است کمی طول بکشد.
- بیایید رنگ پس زمینه را به مشکی تغییر دهیم تا با انتخاب های رنگی خود تضاد داشته باشد. به بروید . روی فلش رو به پایین کلیک کنید و رنگ مشکی را انتخاب کنید. روی OK کلیک کنید .
- اکنون باید شبکه رودخانه تکمیل شده آمریکای جنوبی را ببینید.

















اگر می خواهید بازخورد بدهید یا تجربه خود را در مورد این آموزش به اشتراک بگذارید، لطفاً در زیر نظر دهید. (به حساب GitHub نیاز دارد)