ایجاد خودکار نقشه با اطلس طرح بندی چاپی (QGIS3)

اگر سازمان شما نقشه‌های چاپی یا آنلاین را منتشر می‌کند، اغلب باید نقشه‌های زیادی را با همان الگو ایجاد کنید - معمولاً یک نقشه برای هر واحد اداری یا منطقه مورد علاقه. ایجاد این نقشه ها به صورت دستی می تواند زمان زیادی طول بکشد و اگر بخواهید این نقشه ها را به طور منظم به روز کنید، می تواند به یک کار طاقت فرسا تبدیل شود. QGIS ابزاری به نام «اطلس» دارد که می تواند به شما در ایجاد یک الگوی نقشه کمک کند و به راحتی تعداد زیادی نقشه را برای مناطق مختلف جغرافیایی منتشر کنید. اگر با اصول اولیه چیدمان چاپ آشنا نیستید، لطفاً آموزش ساختن نقشه را دنبال کنید.

بررسی اجمالی کار

این آموزش نحوه ایجاد نقشه تالاب ها برای هر شهرستان در ایالت هاوایی را نشان می دهد.

مهارت های دیگری که یاد خواهید گرفت

  • استفاده از رندر سبک «چند ضلعی های معکوس» برای پر کردن مناطق خارج از چند ضلعی ها.

  • عبارتی را در رندر سبک «Rule Based» بنویسید تا فقط ویژگی فعلی در Atlas نشان داده شود.

  • یک عبارت برای ایجاد برچسب های پویا در طرح بندی چاپ بنویسید.

  • استفاده از رندر سبک «Shapburst fill» برای ایجاد یک پرکننده چند ضلعی دوگانه.

داده ها را دریافت کنید

ما از "لایه های داده GIS <http://planning.hawaii.gov/gis/download-gis-data/>"_ از "ایالت هاوایی - دفتر برنامه ریزی <http://planning.hawaii.gov/ استفاده خواهیم کرد. >`_

لایه تالاب <http://files.hawaii.gov/dbedt/op/gis/data/HI_Wetlands.shp.zip>`_ را از دسته بیولوژیک و اکولوژیک دانلود کنید.

لایه «Census County Boundaries 2010 <http://files.hawaii.gov/dbedt/op/gis/data/county10.shp.zip>`_» را از دسته فرهنگی و جمعیتی دانلود کنید.

برای راحتی، می‌توانید مستقیماً یک کپی از هر دو مجموعه داده را از لینک‌های زیر دانلود کنید

HI_Wetlands.shp.zip

county10.shp.zip

منبع داده [HAWAII]

روش

  1. فایل "HI_Wetlands.shp.zip" را در مرورگر QGIS بیابید و آن را گسترش دهید. فایل HI_Wetlands_Poly.shp را انتخاب کنید و آن را روی بوم بکشید. این لایه حاوی چند ضلعی است که نشان دهنده تالاب ها در کل ایالت هاوایی است.

../../_images/110.png
  1. از آنجایی که می خواهیم برای هر شهرستان در ایالت نقشه تالاب جداگانه تهیه کنیم، به لایه مرزی شهرستان نیاز داریم. فایل county10.shp.zip را مرور کنید و آن را گسترش دهید. فایل county10.shp را انتخاب کنید و آن را روی بوم بکشید.

../../_images/210.png
  1. نمایان بودن لایه «HI_Wetlands_Poly» را به طور موقت خاموش کنید. اکنون چند ضلعی های لایه «county10» را به وضوح خواهید دید. 5 ویژگی در این لایه وجود دارد که هر ویژگی دارای 1 یا چند چند ضلعی است. ویژگی ها نشان دهنده 5 شهرستان است. ما از این لایه به عنوان لایه پوشش استفاده می کنیم و QGIS را برای ایجاد 5 نقشه جداگانه - یکی برای هر ویژگی - به طور خودکار پیکربندی می کنیم.

../../_images/35.png
  1. نمایان بودن لایه «HI_Wetlands_Poly» را روشن کنید. به Project ‣ New Print Layout... بروید.

../../_images/41.png
  1. عنوان طرح چاپ را خالی بگذارید و روی OK کلیک کنید.

../../_images/51.png
  1. در پنجره Print Layout به Layout ‣ Add Map بروید.

../../_images/61.png
  1. یک مستطیل را در حالی که دکمه سمت چپ ماوس را در جایی که می‌خواهید نقشه را درج کنید نگه دارید بکشید.

../../_images/71.png
  1. در QGIS3، تب Atlas به طور پیش فرض قابل مشاهده نیست. View ‣ Panels ‣ Atlas را انتخاب کنید.

../../_images/81.png
  1. به برگه Atlas بروید. کادر :guilabel:'Generate an atlas' را علامت بزنید.

../../_images/91.png
  1. "county10" را به عنوان :guilabel:"لایه پوشش" انتخاب کنید. این نشان می‌دهد که ما می‌خواهیم هر کدام 1 نقشه برای هر ویژگی چندضلعی در لایه «county10» ایجاد کنیم. همچنین می‌توانید :guilabel:` لایه پوشش پنهان را بررسی کنید تا خود ویژگی‌ها روی نقشه ظاهر نشوند.

../../_images/104.png
  1. به برگه :guilabel: ویژگی های آیتم بروید. به پایین بروید و کادر :guilabel:`Controlled by atlas را علامت بزنید. این نشان می دهد که محتوای نقشه نمایش داده شده در این مورد توسط ابزار "اطلس" تعیین می شود.

توجه

باید کادر Generare an atlas را در برگه :guilabel:`Atlas فعال کنید، در غیر این صورت چک باکس :guilabel:`Controlled by atlas غیرفعال خواهد شد.

../../_images/114.png
  1. اکنون که تنظیمات Atlas را پیکربندی کرده اید، به :menuselection:` Atlas --> Preview Atlas` بروید.

../../_images/124.png
  1. شما نقشه را به‌روزرسانی می‌کنید و نشان می‌دهید که نقشه فردی چگونه به نظر می‌رسد. می‌توانید پیش‌نمایش کنید که چگونه نقشه برای هر یک از چند ضلعی‌های شهرستان نگاه می‌کند. به :menuselection: Atlas --> Next Feature بروید. اطلس نقشه را به اندازه ویژگی بعدی در لایه پوشش ارائه می کند.

../../_images/133.png
  1. بیایید یک برچسب به نقشه اضافه کنیم. به Layout ‣ Add Label بروید.

../../_images/143.png
  1. در زیر برگه :guilabel:` ویژگی های آیتم، قسمت :guilabel:` ویژگی های اصلی را پیدا کرده و روی دکمه :guilabel: Insert an Expression... کلیک کنید.

../../_images/153.png
  1. برچسب نقشه می تواند از ویژگی های لایه پوشش استفاده کند. تابع "concat" برای پیوستن چند مورد متنی به یک آیتم متنی واحد استفاده می شود. در این مورد، مقدار ویژگی «NAME10» لایه «county10» را با متن «County of» می‌پیوندیم. عبارتی مانند زیر اضافه کنید و روی OK کلیک کنید.

concat('County of ', "NAME10")
../../_images/163.png
  1. متن مکان‌دار پیشرو Lorem ipsum را حذف کنید تا جعبه متن فقط شامل عبارت باشد. به قسمت :guilabel:'Pearance' بروید و روی منوی کشویی :guilabel:'Font کلیک کنید. فونت را انتخاب کنید و اندازه را به دلخواه تنظیم کنید.

../../_images/173.png
  1. "Center" را به عنوان :guilabel:"Arignment Horizontal" و "Middle"" را به عنوان گزینه :guilabel:"Trafting عمودی" انتخاب کنید.

../../_images/182.png
  1. یک برچسب دیگر اضافه کنید و "نقشه تالاب" را در زیر :guilabel:"Main properties" وارد کنید. از آنجایی که هیچ عبارتی در اینجا وجود ندارد، این متن در همه نقشه ها یکسان خواهد ماند.

../../_images/192.png
  1. به :menuselection: Atlas --> Last Feature بروید و بررسی کنید که برچسب های نقشه همانطور که در نظر گرفته شده است کار می کنند. متوجه خواهید شد که نقشه تالاب دارای چند ضلعی است که در اقیانوس امتداد یافته است که زشت به نظر می رسد. می‌توانیم این سبک را تغییر دهیم که مناطق خارج از مرزهای شهرستان پنهان هستند.

../../_images/202.png
  1. به پنجره اصلی QGIS بروید. روی لایه "county10" کلیک راست کرده و :guilabel:"Properties" را انتخاب کنید.

../../_images/212.png
  1. در تب Symbology، رندر کننده Polygons معکوس را انتخاب کنید. این رندر به *خارج* چندضلعی استایل می دهد - نه داخل. رنگ سفید را به عنوان رنگ پر انتخاب کنید و روی :guilabel:`OK کلیک کنید.

../../_images/222.png
  1. متوجه خواهید شد که چند ضلعی های خارج از مرزهای شهرستان اکنون ناپدید شده اند. در واقع، به دلیل سبک چند ضلعی های معکوس، آنها با پر کردن رنگ سفید که از چند ضلعی های شهرستان خارج شده اند، پنهان می شوند.

../../_images/232.png
  1. به پنجره Layout بروید. اگر بخواهیم جلوه چند ضلعی های معکوس نشان داده شود، باید تیک کادر Hidden coverage layer را در زیر برگه Atlas برداریم. پس از برداشتن علامت، تصویر رندر شده تمیز به نظر می رسد و مناطق خارج از چند ضلعی پوشش قابل مشاهده نیستند.

../../_images/242.png
  1. اگرچه یک مشکل دیگر وجود دارد. متوجه خواهید شد که در برخی موارد، قسمت هایی از نقشه که خارج از مرز لایه پوشش هستند همچنان قابل مشاهده هستند. این به این دلیل است که Atlas به طور خودکار سایر ویژگی ها را پنهان نمی کند. این می تواند در برخی موارد مفید باشد، اما برای هدف ما فقط می خواهیم تالاب های شهرستانی را نشان دهیم که نقشه آن در حال تولید است. برای رفع این مشکل، به پنجره اصلی QGIS برگردید و روی لایه "county10" کلیک راست کرده و :guilabel:"Properties" را انتخاب کنید.

../../_images/252.png
  1. در برگه Symbology، "Rule-based" را به عنوان :guilabel:"Sub renderer" انتخاب کنید. روی ناحیه زیر :guilabel:'Rule' دوبار کلیک کنید.

../../_images/261.png
  1. در گفتگوی :guilabel:'Edit rule'، روی دکمه :guilabel:'Expression' در کنار :guilabel:'Filter' کلیک کنید.

../../_images/272.png
  1. در سازنده رشته بیانی، گروه توابع Variables را گسترش دهید. متغیر ``@atlas_featureid` شناسه ویژگی انتخاب شده فعلی را ذخیره می کند. ما یک عبارت می سازیم که فقط ویژگی Atlas را انتخاب می کند. عبارت زیر را وارد کنید و روی OK کلیک کنید.

$id = @atlas_featureid
../../_images/282.png
  1. همه دیالوگ های میانی را ببندید و به پنجره Layout برگردید. مورد :guilabel:'Map 1' را انتخاب کنید و روی دکمه :guilabel:'Update preview' در زیر تب :guilabel:'Item properties' کلیک کنید تا تغییرات را مشاهده کنید. توجه داشته باشید که اکنون فقط منطقه ای که مرز شهرستان را پوشش می دهد نشان داده شده است

توجه

اگر دکمه Update preview را نمی بینید، ممکن است ابتدا یک عنصر دیگر :guilabel:`Item را انتخاب کنید و سپس دوباره :guilabel:`Map 1 را انتخاب کنید.

../../_images/292.png
  1. اکنون یک برچسب پویا دیگر برای نشان دادن تاریخ فعلی اضافه می کنیم. به Layout ‣ Add Label بروید و منطقه را روی نقشه انتخاب کنید. روی دکمه :guilabel:'Insert an expression' کلیک کنید.

../../_images/302.png
  1. گروه توابع Date and Time را گسترش دهید و تابع $now را خواهید یافت. این زمان سیستم فعلی را نگه می دارد. تابع todate() این را به رشته تاریخ تبدیل می کند. عبارت زیر را وارد کنید و روی OK کلیک کنید.

concat('Created on: ', todate($now))
../../_images/312.png
  1. برچسب دیگری با ذکر منبع داده اضافه کنید. همچنین می توانید عناصر نقشه دیگری مانند فلش شمال، نوار مقیاس و غیره را همانطور که در آموزش ساختن نقشه توضیح داده شده اضافه کنید.

../../_images/321.png
  1. ما آخرین بهبود استایل را انجام خواهیم داد. به پنجره اصلی QGIS برگردید و روی لایه "HI_Wetlands_Poly" کلیک راست کرده و :guilabel:"Properties" را انتخاب کنید.

../../_images/331.png
  1. در تب Symbology، روی Simple fill کلیک کنید و "Shapeburst fill" را به عنوان :guilabel:"نوع لایه نماد" انتخاب کنید. گزینه :guilabel:'Two color' را انتخاب کنید و سایه های سبز و آبی را که دوست دارید انتخاب کنید. روی :guilabel:`OK کلیک کنید.

../../_images/341.png
  1. مورد :guilabel:'Map 1' را انتخاب کنید و روی دکمه :guilabel:'Update preview' در زیر تب :guilabel:'Item properties' کلیک کنید تا تغییرات را مشاهده کنید.

../../_images/351.png
  1. هنگامی که از طرح و استایل نقشه راضی شدید، به Atlas ‣ Export Atlas as Images بروید.

../../_images/36.png
  1. دایرکتوری را در رایانه خود انتخاب کنید و روی Choose کلیک کنید.

../../_images/37.png
  1. گزینه های پیش فرض را در :guilabel:'Image Export Options' بگذارید و روی :guilabel:'Save' کلیک کنید.

../../_images/38.png
  1. ابزار Atlas اکنون از طریق هر ویژگی در لایه پوشش تکرار می شود و یک تصویر نقشه جداگانه بر اساس قالبی که ایجاد کردیم ایجاد می کند. پس از اتمام فرآیند می توانید تصاویر را در دایرکتوری مشاهده کنید.

../../_images/39.png
  1. در اینجا تصاویر نقشه برای مرجع هستند.

../../_images/output_1.png ../../_images/output_2.png ../../_images/output_3.png ../../_images/output_4.png ../../_images/output_5.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)