طراحی خطوط به صورت سه بعدی (QGIS3)
مشارکت کننده: استیون کیم
در آموزش قبلی، Styling a River Network with Expressions (QGIS3) از عبارات برای فیلتر کردن و استایل کردن یک شبکه رودخانه استفاده کردیم. در این آموزش، ما با یک مجموعه داده کانتور کار می کنیم و با استفاده از عبارات به آن استایل می دهیم تا جلوه ای سه بعدی به آن بدهیم.
نمای کلی کار
ما از یک لایه نماد مولد هندسه استفاده می کنیم تا به صورت پویا یک افست را روی خطوط اعمال کنیم و سپس یک رمپ رنگی برای ایجاد ظاهری از یک نقشه سه بعدی اعمال می کنیم.
دریافت داده ها
نقشه ملی یک تلاش مشترک بین سازمان زمین شناسی ایالات متحده (USGS) و سایر شرکا برای بهبود و ارائه اطلاعات توپوگرافی برای کشور است. ما یک مجموعه داده کانتور را از دانلودر نقشه ملی دانلود خواهیم کرد.
- از TNM Download v2 دیدن کنید . به منطقه مورد علاقه خود بگردید. برای این آموزش، کانتورهای منطقه ای در اطراف آستین، تگزاس را دانلود می کنیم.
- در دانلودر، به دنبال مجموعه داده بگردید و کادر را علامت بزنید تا همه زیرشاخه ها را ببینید. فقط دسته را انتخاب کنید. در قسمت File Formats ، را انتخاب کنید .
Elevation Products(3DEP)
Contours (۱:۲۴,۰۰۰-scale)
GeoPackage
- برای مشاهده لیست فایل های منطبق، روی دکمه آبی جستجوی محصولات کلیک کنید.
- در نتایج، فایل را پیدا خواهید کرد. برای دانلود فایل زیپ شده GeoPackage روی لینک دانلود (ZIP) کلیک کنید .
USGS NED ۱/۳ arc-second Contours for Austin E, Texas
ELEV_Austin_E_TX_1X1_GPKG.zip
میتوانید فایل فشرده را مستقیماً در ELEV_Austin_E_TX_1X1_GPKG.zip دانلود کنید.
منبع داده [USGS]
توجه داشته باشید
شما همچنین می توانید خطوطی را از هر لایه DEM ایجاد کنید و از آن به جای خطوط استفاده شده در اینجا استفاده کنید. برای دستورالعمل های گام به گام به آموزش ما کار با داده های زمین (QGIS3) مراجعه کنید.
- فایل ELEV_Austin_E_TX_1X1_GPKG.zip را در رایانه خود از حالت فشرده خارج کنید . فایل ELEV_Austin_E_TX_1X1_GPKG.gpkg حاصل را در مرورگر QGIS پیدا کنید و آن را گسترش دهید. لایه Elev_Contour را انتخاب کنید و آن را روی بوم بکشید.
- اکنون یک لایه جدید Elev_Contour بارگذاری می شود و شما باید خطوط کانتور را ببینید.
- روی لایه Elev_Contour کلیک راست کرده و Open Attribute Table را انتخاب کنید . متوجه خواهید شد که فیلد
contourelevation
حاوی مقدار elevation برای هر خط کانتور است. این نام فیلد مهم است و در عبارات مراحل بعدی استفاده می شود.
- ما اکنون آماده ایم که خطوط را سبک کنیم. قبل از ادامه، ابتدا باید یک رمپ رنگی مناسب برای ارتفاع رنگ اضافه کنیم. اگر قبلاً رمپ رنگی wiki-1.02 را برای آموزش قبلی ما ایجاد نقشه جهانی بلوک (QGIS3) اضافه کردهاید ، میتوانید به مرحله ۹ بروید. روی تنظیمات در نوار منو کلیک کنید و مدیریت سبک را انتخاب کنید .
- روی علامت مثبت Add item در پایین کلیک کنید و را انتخاب کنید .
- رمپ های رنگی را به پایین اسکرول کنید تا wiki-1.02 را پیدا کنید . ممکن است چندین با یک نام وجود داشته باشد، فقط روی یکی کلیک کنید و روی OK کلیک کنید .
- در پنجره Save New Color Ramp ، مقدار را
wiki-1.02
به عنوان Name وارد کنید .
- برای خروج از پنجره روی Save کلیک کنید ، سپس برای خروج از Style Manager روی Close کلیک کنید. اکنون رمپ رنگی wiki-1.02 برای استفاده در پروژه های آینده شما در دسترس است.
- حالا میتوانیم خطوط را استایل کنیم. لایه را انتخاب کنید
Elev_Contour
و روی دکمه Open Layer Styling Panel کلیک کنید . برای دسترسی به ویژگی های آن، Simple Line را انتخاب کنید .
- نوع لایه Symbol را از Simple Line به Geometry Generator تغییر دهید . این لایه نماد به ما اجازه می دهد تا هندسه ویژگی های لایه را با استفاده از یک عبارت به صورت پویا تغییر دهیم.
- در کادر ورودی، این عبارت را وارد کنید تا هر خط کانتور در محور y با مقدار ارتفاع آن ترجمه شود. ما از توابع
minimum()
وmaximum()
برای یافتن محدوده مقادیر در ستون elevation contour و تابع scale_linear() استفاده می کنیم تا ارتفاع را به صورت خطی از حداقل به حداکثر تا محدوده y-offset مورد نظر بین ۰ تا ۰٫۲ درجه تغییر دهیم. اگر لایه کانتور شما در یک CRS است که واحدهایی غیر از درجه دارد، مطمئن شوید که این مقادیر را به درستی تنظیم کنید. عبارت را وارد کرده و روی OK کلیک کنید .
translate($geometry,0,scale_linear("contourelevation", minimum("contourelevation"),maximum("contourelevation"),0,0.2))
- در زیر Geometry Generator در پنجره نماد، لایه Simple Line را برای دسترسی به خصوصیات آن انتخاب کنید. روی دکمه Data define override برای Color کلیک کنید و منوی Edit را انتخاب کنید .
- این دیالوگ Expression Builder را برای رنگ خط ظاهر می کند . این عبارت را وارد کنید تا خطوط کانتور را با مقدار ارتفاع کانتور از رمپ رنگی wiki-1.02 رنگ آمیزی کنید . ما باید مقادیر ارتفاع را به محدوده مورد انتظار رمپ رنگ (۰ تا ۱) ترسیم کنیم. به جای تابع scale_linear که قبلاً استفاده شده بود، از تابع scale_polynomial برای مقیاس بندی مقادیر به صورت غیر خطی استفاده می کنیم . پس از وارد کردن عبارت، روی OK کلیک کنید .
ramp_color('wiki-1.02',scale_polynomial("contourelevation", minimum("contourelevation"),maximum("contourelevation"), ۰,۱,۰٫۵))
- شما باید یک نمایش سه بعدی از خطوط رنگ شده بر اساس ارتفاع را ببینید. با عبارات رنگ آمیزی و مقیاس بندی آزمایش کنید تا بازنمایی های هنری مختلف از منظره را آشکار کنید.
اگر می خواهید بازخورد بدهید یا تجربه خود را در مورد این آموزش به اشتراک بگذارید، لطفاً در زیر نظر دهید. (به حساب GitHub نیاز دارد)