![]() |
VOOZH | about |
هر محوطه (چندضلعی توپر) یا Area را میتوان به دو شکل تعریف کرد:
توجه کنید که محوطهها عناصر جداگانهای نیستند بلکه راههای بستهای هستند که تگی مانند landuse=* (کاربری زمین) دارند. راه بسته اگر تگی که یک محوطه را مشخص میکند، نداشته باشد، مثلا فقط تگ highway=footway داشته باشد در این صورت یک عارضهٔ خطی است مگر آنکه تگ area=yes در کنارش بیاید.
دو روش برای ایجاد محوطه وجود دارد:
area=yes را هم بدهیم (برای جزئیات بیشتر area=* را ببینید).با ترکیباتی از تگها، راههای بسته میتوانند هم یک «چندضلعی بسته»ٔ خطی باشند و هم یک محوطه. مثلاً یک میدان با چمنکاری وسطش را میتوانیم با یک راه بسته و دادن تگهای highway=primary و landuse=grass تعریف کنیم. بدین صورت یک خیابان دایرهای با محوطهٔ چمنکاری وسطش را تعریف کردهایم.
اگر تگ مخصوص راههای بسته روی یک راه باز قرار داشته باشد معمولاً هنگام رندرکردن، دو سر راه به هم وصل میشود تا محوطهٔ محصورشده توسط آن را بتوان پر کرد.
در گذشته ضروری بود که مرز محوطهها در جهت خاصی رسم شود (ساعتگرد یا پادساعتگرد) تا از رندرشدن درست اطلاعات مطمئن شویم. این مسئله دیگر مهم نیست.
بهطور کلی پس از رندرشدن، محوطههای کوچکتر «روی» محوطههای بزرگتر قرار میگیرند تا مطمئن شویم که مثلاً درختستانی که در یک پارک بزرگ قرار دارد، بههمین شکلِ «درختستان در پارک» نشان داده میشود.
گرچه، در برخی موارد که در عارضهٔ بزرگتر حفرههایی وجود دارد باید از رابطههای multipolygon استفاده کنیم. مثل زمانی که قسمتی از یک درختستان چمنکاری شده باشد. در این صورت با استفاده از رابطهٔ مذکور، قسمتی از محوطه را که درختستان نیست (حفرهها) پاک میکنیم و آن را چمنکاری میکنیم.
در این مثال یک دریاچه را با استفاده از یک راه بسته (یعنی نقطهٔ اول و آخرش یکی است) تعریف کردهایم. با بهکارگیری تگ natural=water خودبهخود تگ area=yes نتیجه میشود. توجه کنید که با این روش نمیتوانیم سطوح دریاچه را بیشتر توصیف کنیم، مثلاً بگوییم در دریاچه جزیره هست، زیرا بنا بر تعریف، راههای بسته حفره ندارند.
<wayid="4876027"timestamp="2008-03-12T07:59:11Z"user="MichaelCollinson"> <ndref="31492372"/> <ndref="31492338"/> <ndref="31492370"/> <ndref="31492371"/> <ndref="31492372"/> <tagk="natural"v="water"/> <tagk="name"v="Spegeldammen"/> </way>
محوطهها را میتوانیم با استفاده از رابطهٔ multipolygon نیز تعریف کنیم که در آن مجموعهای از راهها:
را تعریف میکنند. مرزهای درونی «حفرهها» را بهوجود میآورند.
در این مثال یک مرز بیرونی (outer) وجود دارد که از یک راه تکی ساخته شده و دو راه نیز مرز درونی (inner) را شکل دادهاند.
بدون دیدن همهٔ اطلاعات نمیتوانیم بگوییم که:
با دیدن دادههای #8125153 و #8125154، بهترتیب، این ابهام برطرف میشود.
<relationid="12"timestamp="2008-12-21T19:31:43Z"user="kevjs1982"uid="84075"> <membertype="way"ref="2878061"role="outer"/><!-- picture ref="1" --> <membertype="way"ref="8125153"role="inner"/><!-- picture ref="2" --> <membertype="way"ref="8125154"role="inner"/><!-- picture ref="3" --> <membertype="way"ref="3811966"role=""/><!-- empty role produces a warning; avoid this; most software works around it by computing a role, which is more expensive than having one set explicitly; not shown in the sample pictures to the left --> <tagk="type"v="multipolygon"/> </relation>
| ||||||||||