Daha çox

Yeni zirvələr arasında minimum məsafədə bir çoxbucaqlı verilənlər bazasını sadələşdirin


Nəticədə çıxışı yeni zirvələr arasında minimum 5 kilometr məsafədə olduğu bir çoxbucaqlı şəkli sadələşdirmək istərdim.

ArcView lisenziyasında, FME və QGIS-də ArcMap 10 var.

NURBfit düzəldərək FME-də ümumiləşdirici transformatoru sınadım və seqment uzunluğunu 5 km-ə təyin etdim, lakin yenə də bu məsafədə zirvələr yaratdı.

Yeniləyin

Aşağıdakı şəkil, sifarişin necə ola biləcəyini göstərir. Beləliklə başqa bir təpədən 5 km məsafədə bir vertex ola bilməz.

Bir-birimizdən 5 km məsafədə heç bir təpə olmaması üçün bir çox formalı şəkilləri ümumiləşdirə bilmək istəyirik və məhdudlaşdıran bir qutu istifadə etmədən istəmədiyimiz sahələri əhatə edirik.


Sualı düzgün başa düşdüyümü düşünsəm, FME və Generaliser transformatoru vasitəsi ilə asanlıqla əldə etmək olar. "İncə" istifadə edirsinizsə (və ya istifadə vəziyyətinizə görə bəlkə də "ThinNoPoint").

Bu, növbəti mərhələdən 5 km-dən çox olan nöqtələri siləcəkdir.

http://docs.safe.com/fme/html/FME_Desktop_Documentation/FME_Desktop_Help.htm#… /Subsystems/FME_Transformers/Content/Transformers/generalizer.htm%3FTocPath%3DFME%2520Transform20____b%%

İncə deyir:

İncə alqoritm, bitişik bir zirvədən Ümumi Dözümlülük məsafəsindən daha az olan zirvələri siləcəkdir. Başlanğıc və bitmə nöqtələri heç vaxt dəyişdirilmir, əgər incəldilən xüsusiyyətin bütün uzunluğu tolerantlıqdan azdırsa, bu halda xüsusiyyət son koordinatı tutan bir nöqtə xüsusiyyəti ilə əvəzlənir.


Eyni formada çoxbucaqlılar arasındakı məsafənin ölçülməsi (min, max, orta)

Proqram R-dən istifadə edərək, eyni planar proqnozlaşdırılan formalı sənəd (UTM) içərisində çoxbucaqlıların kənarları arasındakı minimum, maksimum və orta məsafəni ölçmək üçün bir yol axtarıram. Bu imkanlara sahib bir paket varmı? İndiyə qədər "gDistance" ilə ən yaxın olan "rgeos" paketi ilə qısa gəlirəm, lakin bu, çoxbucaqlar arasındakı minimum məsafəni yalnız geri qaytarır. Buraya çoxbucaqlar üçün bir neçə dispersiya ölçüsü daxildir. Nümunə olaraq burada Hawaii əyalətindən adalar var. ABŞ əyalətlərinin şəkillərini buradan yükləyə bilərsiniz. Sonra Hawaii əyalətini təcrid edirəm və proyekt edirəm:

Havay əyalətindəki adaların kənarları arasındakı maksimum məsafəni, ada kənarları arasındakı minimum məsafəni və ada kənarları arasındakı orta məsafəni ölçmək istərdim. 2 kənar arasındakı minimum məsafəni qaytarmalı olan rgeo-dan gDistance'ı sınadım, amma hal-hazırda mənim üçün sıfır verir:

Fikirləriniz varmı? "Byid" zəngindən istifadə edərək aşağıdakıları sınamaq yalnız üç 0 qaytarır:

Ümid edirəm yaxınlıq ölçümlərini qiymətləndirmək üçün for for-un bu hissəsini hazırlayacağam

Hər bir sənəddə çoxsaylı çoxbucaqlı 200 ayrı poliqon şəkli. Yalnız yaxınlığı hesablamalıyam daxilində müxtəlif shapefiles arasında deyil, hər shapefile çoxbucaqlı. Kömək üçün təşəkkür edirəm.


1 Cavab 1

Konveks çoxbucaqlılar halında, d (A, B) A zirvələrindən B-nin istənilən nöqtəsinə qədər olan məsafələrin maksimumudur. Bu səbəbdən Hausdorff məsafəsini ixtiyari nöqtədən qabarıq çoxbucağa qədər məsafəni hesablaya bilsəniz hesablamaq o qədər də çətin deyil.

Nöqtədən qabarıq çoxbucağa məsafəni hesablamaq üçün əvvəlcə nöqtənin çoxbucağın içərisində olub olmadığını yoxlamaq lazımdır (əgər məsafə 0-dursa), sonra sərhəd xətti seqmentlərindən hər hansı birinə minimum məsafəni tapmasanız.

Digər sorğunuza cavab xeyr. Nümunə olaraq A və B hər ikisi mənşə mərkəzində eyni 2x2 kvadrat olsun. A hissəsini 4 1x1 kvadrat şəklində bölün. Hər A-dan Hausdorff məsafəsimən B-yə sqrt (2), lakin A-dan B-yə olan məsafə 0-dır.

YENİLƏNİB: Təpələr haqqında iddia dərhal açıq deyil, buna görə də hər hansı bir sonlu ölçüdə yaxşı bir sübut çəkəcəyəm. Sübut etməyə çalışdığım nəticə budur ki, d (A, B) -ni həm çoxbucaqlı, həm də B qabarıqlıqla hesablayarkən A-nın B zirvələrindən məsafələri tapmaq kifayətdir. (B-də ən yaxın nöqtə bir təpə ola bilməz, ancaq A-dakı ən uzaq nöqtələrdən biri bir təpə olmalıdır.)

Hər ikisi də sonlu qapalı şəkillər olduğundan kompaktdır. Kompaktlıqdan A-da B-dən mümkün qədər uzaq bir nöqtə olmalıdır. Yığcamlıqdan, B-də A-ya mümkün qədər yaxın bir nöqtə olmalıdır.

Bu məsafə yalnız A və B eyni çoxbucaqlı olduqda 0-dur, bu vəziyyətdə A məsafəsində A məsafəsinə çatdığımız aydındır. Beləliklə, ümumiliyi itirmədən p ilə q arasında müsbət məsafənin olduğunu düşünə bilərik.

P ilə q arasındakı xəttə dik olan q-a toxunan müstəvini (daha yüksək ölçülərdə, bir növ hiperplane) çəkin. B-də hər hansı bir nöqtə bu təyyarəni keçə bilərmi? Biri olsaydı, r deyin, q qr-dən r-ə qədər olan hər bir sətir B nöqtəsində olmalıdır, çünki B qabarıqdır. Ancaq bu xətt seqmentində q-dan daha çox, q-nin tərifinə zidd olan bir nöqtənin olması lazım olduğunu göstərmək asandır. Bu səbəbdən B bu müstəvini keçə bilməz.

Aydındır ki, p bir daxili nöqtə ola bilməz, çünki belə olsaydı, şüa boyunca q-dan p-yə davam edin və A-da B-nin arxada yerləşdiyi müstəvidən uzaq olan, p-nin tərifinə zidd nöqtələr tapacaqsınız. P A-nın bir zirvəsidirsə, nəticə xırda dərəcədə doğrudur. Buna görə yeganə maraqlı hal, p-nin A sərhədində olması, ancaq bir zirvə olmamasıdır.

Əgər belədirsə, onda p bir səthdədir. Əgər o səth düzəltdiyimiz müstəviyə paralel olmasaydı, B səthində sərhəd qoyduğumuz müstəvidən uzaqlaşaraq səth boyunca gəzmək və B-dən p-dən daha uzaq nöqtələr tapmaq asan olardı. Bu səbəbdən həmin səth həmin müstəviyə paralel olmalıdır. A sonlu olduğundan, səth haradasa zirvələrdə sona çatmalıdır. Bu təpələr o müstəvidən p ilə eyni məsafədədir və bu səbəbdən B-dən ən azı p ilə bərabərdir. Bu səbəbdən B-dən mümkün qədər uzaq olan ən azı bir A zirvəsi mövcuddur.

Buna görə çoxbucaqlıların zirvələrindən digər çoxbucağa qədər olan məsafələrin maksimumunu tapmaq kifayətdir.

(Oxucu üçün əyləncəli bir məşq olaraq bir vertex olmayan q çoxbucaqlı bir cüt qurmağı tərk edirəm.)


Piksel proyeksiyasına (AN) dərinlik keçidi

Sualı göstərmək üçün - bu ağ / çəhrayı düzbucaqlıları 6 x 3 piksel göstərilmiş şəkil kimi təsəvvür edin. Burada kamera tərəfindən görülür.

Animasiya Node ağacı (cavabda qeyd olunur) kompakt bir səth yaradır.

Sualım budur.
Piksel necə ola bilər (dərinlik keçidindən və ya nöqtə mövqeyi xəritəsindən bal şəklində 3B məkanda yenidən qurulmuşdur) Kameraya yönəldilmiş əlaqəsiz dördlüklərlə təmsil olunur. Kamera tərəfindən boşluqlar olmayan müntəzəm kvadratlar kimi görünmək üçün son nəticə orijinal görüntü ilə eynidir.

Nəzəri olaraq, bu üzlər, yəni piksellər kameraya yönəldildiyi üçün, hələ də kvadratlardır və qeyd olunan cavabdan da, qarmaqarışıq bir kamera görünüşünə qədərdir. Beləliklə, burada yeganə sual, ehtimal ki, kameradan məsafəyə görə ölçünün necə hesablanmasıdır.

Sidenote: Sözügedən cavabın yaratdığı səth zəhmlidir, bunun mənfi tərəfi geridə boş yer olan ön arxa piksellər arasındakı əlaqələrdir. Bu tip məlumatları EXR-də saxlamağın bir yolu olmadığından, oxşar nəticəni əldə etmək üçün pikselləri ayrılmış şəkildə istifadə etmək daha yaxşı görünür.

Eyni ölçüdə kamera tərəfindən görünməsi üçün Kamera məsafəsinə uyğun olaraq ölçülü rəngli Xallar (kürələr) olan versiya ilə də maraqlanıram.

Orijinal Q-dan eyni EXR mənbə məlumatlarını istifadə edə bilsəniz minnətdaram.
Kömək üçün təşəkkür edirəm.


Çoxbucaqlı

Bir çoxbucaqlı bir sıra halqalar və ya curveRings və bir məkan Referansı ehtiva edir. CurveRings olan çoxbucaqlar üçün JSON curve object və curve with Polygon olan hissələrə baxın. Hər bir üzük bir sıra xal kimi təmsil olunur. Hər bir halqanın ilk nöqtəsi həmişə son nöqtə ilə eynidır. Üzükdəki hər nöqtə bir sıra sıra şəklində təmsil olunur. Bir çoxbucaqlı da boole dəyərli hasM və hasZ sahələrinə sahib ola bilər.

Boş bir çoxbucaqlı üzüklər sahəsi üçün boş bir sıra ilə təmsil olunur. Polylines / polygons üçün başqa bir şəkildə təyin edilmiş koordinat axınına daxil edilmiş boşluqlar və / və ya NaN-lər sintaksis səhvidir. Çoxbucaqlar topoloji baxımdan sadə olmalıdır. Xarici üzüklər saat yönünə, deliklər isə saat yönünün əksinə yönəldilmişdir. Üzüklər bir təpədə toxuna bilər və ya bir təpədə özünə toxuna bilər, ancaq başqa kəsişmələr olmamalıdır. Xidmətlər tərəfindən qaytarılan poliqonlar topoloji baxımdan sadədir. Bir çoxbucaqlı çəkərkən cüt tək doldurma qaydasından istifadə edin. Tək-tək dolma qaydası, üzük yönü yuxarıda göstərildiyi kimi olmasa da, çoxbucağın düzgün çəkiləcəyinə zəmanət verəcəkdir.

koordinatları np.array olaraq qaytarır


Ümumiləşdirmə tapşırıqlarını kartoqrafik iş axınlarına birləşdirmək

Məlumatların nəzərdə tutulduğundan daha kiçik miqyasda xəritənin hazırlanması prosesi hədəf miqyasını, simbologiya daxil olmaqla ekran xüsusiyyətlərini və xəritənin əsas məqsədini və ya niyyətini başa düşməklə başlayır. Bundan sonra, məlumatların əlaqələndirilməsinə və ya xarakterinə təsir göstərmədən ümumi xüsusiyyətlərin sayını azaltmaq üçün əməliyyatlar aparılır. Bundan sonra, fərdi xüsusiyyətlərin mürəkkəbliyi, zirvələri və ya digər xüsusiyyət detallarını silməklə azalır. Buraya eyni simvol ilə ekran üçün oxşar xüsusiyyətlərin alt kateqoriyalarını birləşdirərək xüsusiyyət atributları daxilindəki mürəkkəbliyin sadələşdirilməsi də daxil ola bilər. Xəritənin hazırlanması başlayandan və məlumatlar son simbologiyası ilə son miqyasda göstərildikdən sonra qrafik ziddiyyətlər aşkar olunaraq həll edilə bilər.

Aşağıdakı blok sxem ümumiləşdirmə iş axınının sadələşdirilmiş bir versiyasını göstərir və daha kiçik miqyasda göstərilmək üçün məlumatların ümumiləşdirilməsinə kömək edə biləcək Kartoqrafiya alətlər qutusundan bəzi əsas vasitələri müəyyənləşdirir. Kartoqrafik göstərmə üçün məlumatları ümumiləşdirmək üçün istifadə olunan proseslərin sadələşdirilmiş görünüşü və uyğun geosessil alətləri

Anlaşmaq vacibdir ki, əksər geosessil alətləri, sonrakı alətlər üçün giriş olaraq istifadə edilə bilən bir nəticə olaraq yeni məlumatlar yaradır. Bunun əksinə olaraq, kartoqraflar ümumiyyətlə xəritə sənədində əvvəlcədən qurulmuş xüsusiyyət qatlarının artan təkmilləşdirilməsi ilə xarakterizə olunan iş axınını izləyirlər. Simbologiya, təbəqə xüsusiyyətləri və maskalanma əlaqələri artıq müəyyənləşdirilmişdir, buna görə də bu məlumatları itirməmək üçün münaqişə həll edilməsi və ümumiləşdirmə əməliyyatları aparıldığı üçün giriş qatlarını dəyişdirmək üstünlük təşkil edir. Bu səbəbdən Kartoqrafiya alətlər qutusundakı bəzi alətlər məlumatları yaratmaqdansa, simvollaşdırılmış qatdakı giriş məlumatlarını dəyişdirir. Bu yanaşma, kartoqrafik təqdimatlarla birlikdə istifadə edildikdə, xüsusilə idarəolunan və güclüdür.

Ümumiləşdirməni dəstəkləmək üçün nümayəndəliklərdən istifadə

Nümayəndələr, xüsusiyyət həndəsəsinin alternativ ekranını dəstəkləyən geodatabase xüsusiyyət siniflərinin bir xüsusiyyətidir. Xüsusiyyət sinifləri onlarla əlaqəli bir çox nümayəndəliyə sahib ola bilər və bununla eyni məlumatların çoxsaylı ekranlarını dəstəkləyir. Nümayəndələr ümumiləşdirmədə üstünlüklü bir rol oynayır, ancaq bununla əlaqəli neçə nümayəndəlikdən asılı olmayaraq, müəyyən bir miqyas (və ya kiçik miqyas aralığında) üçün bir xüsusiyyət sinfi yaradıldığını başa düşmək lazımdır. Bir sıra xüsusiyyətlərin çoxsaylı göstəricilərini dəstəkləmək üçün təsvirlərdən istifadə edə bilmək, eyni xüsusiyyətlərin fərqli miqyasda çəkilməsi üçün istifadə edilə biləcəyi deməkdir. Miqyasdakı bəzi kiçik dəyişikliklər, bəzi təqdimat xüsusiyyətlərinin formalarına kiçik düzəlişlər etmək və ya bəzilərini gizlətməklə zərif şəkildə həyata keçirilə bilər. Ancaq hər bir xüsusiyyət bir və ya daha çox alternativ ekrana sahib ola bilər, lakin xüsusiyyətlər yeni xüsusiyyətlərə birləşdirilə bilməz. Məsələn, ayrı-ayrı binalar dəsti yalnız təmsil ekranını istifadə edərək inşa edilmiş bir ərazi kimi modelləşdirilə bilməz. Çox ölçülü xəritələşməni həqiqətən dəstəkləmək üçün həssas xüsusiyyət sıxlığı və təfərrüatlarını təmin etmək və simvollaşdırılmış qarşıdurmaların qarşısını almaq üçün xüsusiyyətlər uyğun şəkildə işlənməlidir. Ümumiləşdirmə və Qrafik Ziddiyyətlər alətlərindəki alətlər bunu həyata keçirməyə kömək edə bilər.

  • Təmsil əvəzləşdirildiyi üçün həndəsə dəyişikliyini saxlayın. Bu, standart ayardır. Xüsusiyyətlərin həndəsəsindəki dəyişikliklərin yalnız mövcud təqdimatla əldə edilə bilən xüsusiyyət sinfi atributları cədvəlində ayrı bir BLOB sahəsində saxlanacağı deməkdir. Forma sahəsində saxlanılan xüsusiyyətin əsas həndəsi toxunulmaz qalır.
  • Dəstəkləyici xüsusiyyətin həndəsəsini dəyişdirin. Bu parametrlə xüsusiyyətlərin həndəsəsindəki dəyişikliklər, xüsusiyyət sinfi ilə əlaqəli digər təqdimatları təsir edərək xüsusiyyət sinifinin həqiqi Şəkil sahəsini dəyişdirəcəkdir.

Ümumiləşdirmə alətlərindən bəziləri giriş qatlarını dəyişdirir, yeni məlumat dəstləri yaradılmır. Buna, giriş / çıxışdan əldə edilən məlumatlar deyilir. Mağaza ilə nümayəndəliklərə işarə edən təbəqələrdən həndəsə şəklini əvəzetmə ayarı olaraq, xüsusən də qrafik ziddiyyət alətləri ilə işləyərkən (yol ziddiyyətlərini həll etmə, yerdəyişməni yayma və ya tikinti ziddiyyətlərini həll etmə) istifadə etməyiniz tövsiyə olunur. giriş qatları. Bu parametrlə, bu alətlər tərəfindən xüsusiyyətlərə edilmiş dəyişikliklər, təmsil olunma zamanı keçərsiz olaraq saxlanacaq və orijinal həndəsə dəyişməz olaraq qalacaq. Bu şəkildə işləməyin üstünlüyü ondan ibarətdir ki, orijinal xüsusiyyətlərin formaları vizual olaraq müqayisə etmək və ya nəticələr uyğun olmadığı təqdirdə geri qaytarmaq üçün asanlıqla mövcuddur (Şəkil sahəsində).

Diqqət:

Qrafik ziddiyyət alətlərinə dəstək xüsusiyyətinin həndəsəsini dəyişdirin ilə nümayəndəliklərə işarə edən qatlar daxil etsəniz, bu alətlər tərəfindən edilən dəyişikliklər Shape sahəsindəki orijinal xüsusiyyət həndəsəsinin üstünə yazacaq. Eynilə, bir nümayəndəliyə istinad etməyən bir qat istifadə etsəniz (giriş xüsusiyyət sinifində bir və ya bir neçəsi olsa da), orijinal həndəsə itiriləcəkdir. Bu rejimlərdən hər hansı birində işləyirsinizsə, elədir şiddətlə tövsiyə olunur emal etməyə başlamazdan əvvəl giriş xüsusiyyət siniflərinizin surətlərini çıxardığınız.

Nümayəndələr məlumatları kifayət qədər geniş miqyaslı bir arada ümumiləşdirərkən də faydalıdır. İdeal olaraq ümumiləşdirmə prosesləri miqyasdakı böyük endirimləri birbaşa idarə edə bilməli, lakin ümumiyyətlə ara miqyaslı olmaq lazımdır. Keçidin körpüsü üçün orta miqyasda göstərilmək üçün məlumatların hazırlanması səhvləri şişirtə bilər, çünki detallı məlumatların ekrandan düşməsi ilə fərqli qərarlar verilməlidir. Məsələn, xüsusiyyəti düşünün A xüsusiyyətini yerləşdirmək üçün yerindən köçürülmüşdür B böyük miqyaslı xəritədə. Kiçik miqyaslı xəritədə xüsusiyyət B artıq görünmür, ancaq bunu görməyin asan yolu yoxdur A köçürülmüş və ya haradan gəldiyini müəyyənləşdirmişdir. Bu vəziyyətdə, artıq lazımsız bir səhv növbəti kiçik miqyasda yayılır. Nümayəndəliyi ləğv etmək bu vəziyyətə kömək edir, çünki bir xüsusiyyətin başlanğıc yerini tez və asanlıqla vizual olaraq müəyyənləşdirə və lazım olduqda geri qaytara bilərsiniz.


Yer məkanında çoxbucaqlılar üçün qeyri-bərabərlik funksiyası

Bənzərlik bir çox məlumat hasilatı tapşırıqlarında və məlumat alma proseslərində mühüm rol oynayır. Nəzarət olunan, yarı nəzarətli və nəzarətsiz öyrənmə alqoritmlərinin əksəriyyəti, verilənlər bazası içərisindəki obyektlər arasındakı cütlüyə bənzərliyi ölçən bir oxşarlıq funksiyasından istifadə etməkdən asılıdır. Bununla birlikdə, ənənəvi olaraq oxşarlıq funksiyalarının əksəriyyəti, çoxbucaqlı məlumat dəstləri içərisində olan struktur və topoloji məlumatların natamam kəmiyyət təqdimatı səbəbindən coğrafi məkanın çox məkan xüsusiyyətlərini lazımi dərəcədə müalicə edə bilmir. Bu yazıda, kimi tanınan yeni bir oxşarlıq funksiyası təklif edirik çoxbucaqlı oxşarlıq funksiyası Çoxbucaqlı məlumat dəstləri daxilində mövcud olan sıxlığı, paylanmanı və topoloji əlaqələri xüsusi olaraq nəzərdən keçirmək üçün bir çoxbucağın həm məkan, həm də məkan olmayan xüsusiyyətlərini hərtərəfli birləşdirən (PDF). Bir çoxbucağı daxili məkan atributları, xarici məkan atributları və məkan olmayan atributlar toplusu kimi təmsil edirik. Çoxbucaqlıların bu təsvirini istifadə edərək, PDF fərqli atribut boşluqlarında iki çoxbucaqlı arasındakı məsafənin ağırlıqlı bir funksiyası kimi təyin olunur. Bənzərsizliklərimizi qiymətləndirmək üçün ədəbiyyatda təklif olunan həm məkan, həm də məkan olmayan atributlarla işləyən digər məsafə funksiyaları ilə müqayisə edirik. Əlavə olaraq, xarakterik olaraq fərqli iki məlumat dəsti istifadə edərək bölmə qruplaşdırma texnikası (məs. (K ) -medoids) istifadə edərək klasterləşdirmə tətbiqetməsindəki oxşarlıq funksiyamızın effektivliyini xüsusi araşdırırıq: (a) təbii proseslər ilə təyin olunmuş düzensiz həndəsi formalar, yəni su hövzələri və (b) insan mütəxəssisləri, yəni mahallar tərəfindən təyin olunan yarı nizamlı həndəsi formalar.

Bu abunə məzmununun önizləməsidir, təşkilatınız vasitəsilə giriş.


İki qabarıq olmayan çoxbucaqlının ən yaxın təpələri də ən yaxın kənar məsafələrinin bir hissəsidir

Konveks gövdələri kəsişmədən hesablana bilməyən iki birləşdirilməmiş qabarıq olmayan çoxbucaqlılar arasındakı minimum məsafəni ($ mathbb R ^ mathbb2 $ ilə) hesablayarkən Toussaint və Bhattacharya-nın "Sonlu Planar Dəstlər Arasında Minimum Məsafəni Hesablamaq" üçün yazısını tapdım.

$ S1 $ və $ S2 $ iki dəsti verilmişdir

  1. $ S $ = $ S1 fincan S2 $ -nin Voronoi diaqramını hesablayın.
  2. Voronoi diaqramının ikilisindən $ S $ Qabriel qrafikini əldə edin.
  3. Qabriel qrafasının kənarları arasından biri $ S1 $, digəri $ S2 $ arasındakı cüt cüt dəstini təyin edin.
  4. Addım 3-də bütün bal cütləri arasındakı məsafəni hesablayın.
  5. Addım 4-də hesablanan məsafələrin minimumunu təyin edin.

Bu yaxşı işləyir, ancaq mənə vertex-vertex-dən daha yaxın bir vertex-edge məsafəsi ola bilən qapalı ring olan bir çoxbucaqlı anlayışı olmayan minimum nöqtə məsafəsini verir.

Məni maraqlandıran odur ki, alqoritmdən istifadə edərək əldə olunan nöqtə cütü (p1, p2) həmişə minimum məsafədə olub-olmamasıdır. Məs. ya p1 təpə, p2 isə ən yaxın kənarındakı təpələrdən biridir və ya əksinə.

Yuxarıdakı çoxbucaqlılarda minimum məsafə sağ çoxbucaqlının nöqtəsindəki təpə ilə sol çoxbucaqlının yuxarı diaqonal kənarı arasındadır. Alqoritm sağ çoxbucaqlının təpəsini, sol çoxbucağın kənarının sol təpəsini qaytarır.

Ancaq bunun olub olmadığını bilmirəm həmişə qabarıq olmayan çoxbucaqlılar üçün vəziyyət.


Aralarında minimum məsafədə olan maddələrin bu maksimal alt hissəsini tapmaq?

Lakin, mənim vəziyyətimdə, bir ölçüyə yerləşdirilə bilən tam ədədlər arasındakı məsafələr əvəzinə, ixtiyari elementlər dəsti və hər bir elementdən bir-birinə element verən məsafə matrisi var. Məsafələr bütün tamdır və məsafə metrikinin tələblərini ödəyirlər. Müəyyən edilmiş minimum məsafəni (məsələn, 3) nəzərə alaraq, başlanğıc dəstinin maksimum ölçülü alt hissəsini müəyyənləşdirmək, altdakı hər bir cüt elementin ən azı göstərilən eşik məsafəsinə sahib olmasıdır.

Yuxarıdakı əlaqəyə görə, açıq-aşkar açgözlü alqoritm bir ölçülü hal üçün idealdır (tam ədədlər arasındakı məsafələr). Lakin, bunun ixtiyari sayda ölçülərə aid olduğuna şübhə edirəm. Bu, bəzi tanınmış kompüter elmləri problemini azaldacaq bir problem kimi görünür, amma belədirsə, onu müəyyənləşdirmək üçün açar sözlərin uyğun birləşməsini tapa bilmədim. Yalnız bir ölçülü işə istinadlar tapdım.

Yəni bu problem NP ilə tamamlandı? Əgər belədirsə, yaxşı bir evristik alqoritmi varmı? Əks təqdirdə, onu optimal şəkildə həll etmək üçün sürətli bir alqoritm varmı?

(Maraqlı olan hər kəs üçün bu problem, sıralama səhvləri ilə də fərqlənə bildiklərindən bir-birindən kifayət qədər fərqli olan mümkün olan ən böyük DNT ardıcıllığı barkodlarının seçilməsi kontekstində ortaya çıxdı.)

Düzəliş: İndi düşünürəm ki, məsafə matrisini 0 və 1s matrislə əvəzləyərək problemi sadələşdirə bilərik, burada 1 elementlərin yaxın olduğu (məsafəsi eşikdən az), 0 isə elementlərin yaxın olmadığı deməkdir. Sonra güman edirəm ki, məqsəd bitişiklik matrisi hamısı 0 olan elementlərin maksimum ölçülü alt hissəsini tapmaqdır.


Trim_extend¶

Trim_extend funksiyası həndəsə xidmət mənbəyində həyata keçirilir. Bu funksiya, istifadəçi tərəfindən göstərilən bələdçi polil xətlərindən istifadə edərək giriş massivində göstərilən hər bir çox xətti düzəldir və ya uzadır. Xüsusiyyətləri kəsərkən, yönümlü kəsmə xəttinin solundakı hissə çıxışda qorunur və digər hissəsi atılır. Müvafiq giriş polilinası nə kəsilir, nə də uzanırsa, çıxış massivinə boş bir çox xətt əlavə olunur.

Girişlər: spatial_ref - Məkan referansının və ya məkan istinad json obyektinin tanınmış kimliyi.

polylines - Kəsilməli və ya uzadılmalı bir sıra polilinlər. trim_extend_to - Kəsmə və ya düzəltmək üçün bir bələdçi olaraq istifadə edilən bir çox xətt

funksiya. 0 - Varsayılan olaraq, bir uzantı yolun hər iki ucunu nəzərə alır. The

8 - Hər hansı bir yolun & # 8216 ucunu uzatmayın. 16 - Heç bir yolun & # 8216 ucunu uzatmayın.