Daha çox

Bir sıra nöqtə xüsusiyyətləri arasından necə keçmək olar?


Bir sıra nöqtə xüsusiyyətlərim var və ümumi koordinatları olan nöqtələri tapmaq istəyirəm. İndi funksiyanı istifadə edərək IPoint və müqayisə metodunu istifadə edərək kodu şwon bewlo olaraq dəyişdirdim. Kursorlu 2 döngəm var. Birincisi birinci nöqtəni, ikinci döngə ikinci nöqtəni oxuyarkən oxumalıdır və s. İkinci döngənin kursorunu ikinci nöqtəyə getməyə necə məcbur edə bilərəm? Başqa bir NextFeature əlavə etdim, amma nəticə vermədi. Nəticə 2 nöqtə arasında bütün nöqtələrin eyni olmasıdır. Təşəkkürlər Demetris

PFeature = pFCursor.NextFeature pFeature heç bir şey olmayana qədər qurun Set pPointA = pFeature.Shape Set pFeature2 = pFCursor2.NextFeature Do pFeature2 is nothing 'Set pFeature2 = pFCursor2.NextFeature Set pPointB = pFeints2.S (pFeature) CommonPoints = True Sonra MsgBox "Bəli" Bitirsə pFeature2 = pFCursor2.NextFeature Loop Function ComparePoints (pointA As IPoint, pointB As IPoint) Boolean If pointA.Compare (pointB) then ComparePoints = True Else ComparePoints = False End If End Function

Tamam, şərhlərdəki əlavə məlumatlara əsasən həqiqi hədəfə çatmaq üçün başqa bir yol təklif edirəm bir nöqtə xüsusiyyət sinifində təsadüf nöqtələrini müəyyənləşdirmək. İndi bu bacarığı sıfır proqramlaşdırma ilə yerinə yetirəcəyəm (replika Avropanın "Son Countdown").

  1. ArcMap-da sözügedən nöqtə xüsusiyyət sinifini təbəqə kimi əlavə edin.
  2. Təsadüfi məqamları ehtiva edən xüsusiyyət təbəqəsində eyni tap (Data Management) istifadə edin. SeçinŞƏKİLsahə, çünki yalnız həndəsəni müqayisə etməklə maraqlanırıq. Müvafiq XY və Z toleranslarını daxil edin və ya standartları qəbul edin. Bu, hər bir xüsusiyyətin orijinal ObjectID sütunları ilə giriş xüsusiyyət sinifindəki hər bir xüsusiyyət üçün bir qeyd olan müstəqil bir cədvəl hazırlayacaqdır (IN_FID) və ardıcıl dəyər (FEAT_SEQ) eyni olduğu müəyyən edilmiş bütün xüsusiyyətlər üçün eyni olacaqdır.
  3. Nəticədə tapılan eyni cədvəldə Tezlik (Analiz) istifadə edin. SeçinFEAT_SEQsahə tezlik sahəsi kimi. Bu, hər bir ardıcıl dəyərin meydana gəlmə sayının sayını ehtiva edən bir sahə ilə başqa bir bağımsız cədvəl yaradacaqdır.
  4. Eyni nöqtəni tapın cədvəldəki xüsusiyyət xüsusiyyət qatına qoşulunOBJECTIDnöqtə qatındakı sahə vəFIDcədvəldəki sahə.
  5. Tezlik cədvəlini nöqtə xüsusiyyət qatına qoşunFEAT_SEQbirləşdirilmiş cədvəldəki sahə vəFEAT_SEQTezlik cədvəlindəki sahə.
  6. Bütün bu qeydlərin olduğu nöqtə xüsusiyyət qatındakı xüsusiyyətlərə görə seçinTezlik> 1. Təbrik edirik, artıq bütün təsadüf nöqtələrini müəyyənləşdirmisiniz! İndi onlarla bir şey edin.

Göstərişlər: Yaddaşdakı iş sahəsini istifadə edə bilərsiniz ("in_memory someData") yalnız müvəqqəti ehtiyac duyduqları və xüsusiyyətlərin sayı az olduğu üçün iki müstəqil masa üçün. Bunu Python ilə asanlıqla ssenari edə bilərsiniz!


Nöqtələrdən istifadə edirsinizsə, bir sıra yerinə IPointCollection tətbiq etməyi düşünə bilərsiniz. Xahiş etdiyinizi yerinə yetirmək üçün daxili metodlardan istifadə edə bilərsiniz və IPoint əldə etmək üçün xarici bir metod tələb etməyəcəyiniz üçün bir az daha səmərəli olmalıdır.

Addımlarınız belə olacaq:

1) Hər bir xüsusiyyəti (nöqtəni) ".Add" istifadə edərək IPointCollection'a əlavə edin.

2) yourPoint.X və / və ya yourPoint.Y-nizi müqayisə edin.


Videoya baxın: ПРОГНОЗ НА НЕДЕЛЮ. Курс ДОЛЛАРА. НЕФТЬ.. COT CFTC.. (Oktyabr 2021).