قابلیت های مکانی جدید در SQL Server 2012 – بخش پنجم

متدهای STIsValid، IsValidDetailed و MakeValid

تعیین اعتبار اشیاء مکانی در SQL Server 2012 تا حد زیادی بهبود یافته است. متد STIsValid به یک شی مکانی را بررسی کرده و مقدار 1 (درست ) یا 0 (غلط) برمی گرداند که نشان می دهد اگر شی نمایشگر یک شکل معتبر است یا خیر. اگر شی نامعتبر باشد، متد جدید IsValidDetailed به دلیل عدم اعتبار آن را توضیح می دهد. کد زیر را ببینید:

 

این رشته خط نامعتبر است زیرا نقطه (2 2) تکرار شده است، که منجر به خطای “لبه ها با هم تداخل دارند،” می شود که خروجی IsValidDetailed آن را برمیگرداند:

 

SQL سرور 2012 تحمل بیشتری برای اشیا مکانی نامعتبر نسبت به نسخه های قبلی دارد. برای مثال، شما هم اکنون می توانید انجام عملیات متریک مانند STLength را برروی اشیا نامعتبر نیز انجام دهید، هر چند هنوز هم قادر نخواهید بود به انجام عملیات های دیگر مانند STBuffer را بر روی آنها اجرا کنید.
متد جدید MakeValid می تواند اشیا مکانی نامعتبر را تصحیح کرده و آن را معتبر سازد. البته، شکل کمی تغییر خواهد کرد، و هیچ تضمینی بر صحت و یا دقت تغییرات انجام شده وجود ندارد. کد زیر با استفاده از MakeValid به حذف قطعاتی که با هم تداخل دارند (که می تواند توسط ناهنجاریهای مانند آثار نادرست GPS ایجاد شده باشد( اقدام کرده و رشته خط نامعتبر به یک شی مکانی معتبر تبدیل می کند.

 

رشته WKT بازگردانده شده توسط دستور SELECT رشته خط تصحیح شده را نشان می دهد:

 

 

) Topodin, Именно поэтому основным каналом привлечения новых клиентов (более 90%) для компании «ТОП 1» являются переходы по копирайтам с уже готовых наших работ

مطالب مرتبط

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *