Daha çox

OGR Python istifadə edərək mövcud xüsusiyyətə (xətti) bir zirvə əlavə etmək


Bir vertolyotda xəttlərin kəsişməsini tapmağı əhatə edən bir layihə üzərində işləyirəm, əgər bu təpə (tapılan kəsişmə) xüsusiyyətlərin hər biri (və ya biri) üçün artıq mövcud deyilsə, o zirvə (tapılan kəsişmə nöqtəsi) olmalıdır hər iki xüsusiyyətə əlavə ediləcək. Python üçün düzgün və OGR modullarından istifadə edirəm. Kimsə mənə shapefile-də mövcud bir xüsusiyyətə bir vertex əlavə etmək və ya istifadə edərək qənaət etmək üçün ümumi bir nümunə verə bilərmi? Təşəkkürlər.


Ən asan həll istifadə etməkdir birlik, cascaded_unionvə ya unary_union. Bütün xətlər kəsişmə nöqtələrində bölünür:

shapely.geometry-dən idxal LineString line1 = LineString ([(0, 0), (2, 2), (3,1)]) line2 = LineString ([(2, 0), (2, 1), (1, 2)]) çap sətri 1. sətir üçün sətir üçün sətir 1. sətir (sətir2) NÖQTƏ (1.5 1.5): sətir sətri SATIŞ (0 0, 1.5 1.5) SAYATLAMA (1.5 1.5, 2 2, 3 1) SATILMA (2 0, 2 1, 1.5 1.5) LINESTRING (1.5 1.5, 1 2) # və ya şeklinden.ops unary_union içindəki satır üçün unary_union ([line1, line2]) idxal edir: çap xətti LINESTRING (0 0, 1.5 1.5) LINESTRING (1.5 1.5 , 2 2, 3 1) LINESTRING (2 0, 2 1, 1.5 1.5) LINESTRING (1.5 1.5, 1 2)

Nəticədə 1 və 2 seqmentləri 1-ci və 3-cü və 4-cü hissələrin bir hissəsidir: yeni xətlər ilə əldə edilirxətt (xətlər):

shapely.ops-dan idxal linemerge new_line1 = linemerge ([line1.union (line2) [0], line1.union (line2) [1]]) new_line2 = linemerge ([line1.union (line2) [2], line1.union (line2) [3]]) new_line1 LINESTRING (0 0, 1.5 1.5, 2 2, 3 1) çap et new_line2 LINESTRING (2 0, 2 1, 1.5 1.5, 1 2) çap et

Shapely istifadə edirsinizsə, ogr əvəzinə shapefile oxumaq üçün Fiona'dan istifadə etmək asandır və kəsişmələriniz çoxdursa, misal üçün rtree və ya PyQuadTree kimi bir məkan indeksindən istifadə etmək maraqlıdır.


Düyünlər və seçilmiş şəkildə itə bilən kənarlar arasında icazə verilən çox kənarları olan bir qrafiq necə təmsil olunur

Bəzi fərziyyə, idealizasiya edilmiş şəbəkə istifadəsini modelləşdirmək üçün hansı məlumat quruluşundan istifadə edəcəyimi anlamağa çalışıram.

Mənim ssenarimdə bir-birinə düşmən olan bir çox istifadəçi hamısı bütün potensial əlaqələrin bilindiyi kompüter şəbəkələrini yaratmağa çalışırlar. Bir istifadəçinin qoşması lazım olan kompüterlər digər istifadəçinin qoşması lazım olan kompüterlərlə eyni olmaya bilər, lakin istifadəçi 1, istifadəçi 2, B, C və E kompüterləri bağlamağa ehtiyac duyarkən A, B və D kompüterləri birləşdirməlidir.

NCTM Graph Creator köməyi ilə yaradılan şəkil

Düşünürəm ki, bunun nüvəsi kompüterləri təmsil edən kənarları və kənarları Ethernet kabellərini əks etdirən istiqamətləndirilməmiş bir siklik qrafik olacaqdır. Bununla birlikdə, ssenarinin təbiətinə görə, bitişik siyahıları və bitişik matrislərini istisna edən bir neçə qeyri-adi xüsusiyyət var (ən azından qeyri-əhəmiyyətsiz dəyişikliklər olmadan):

  1. kənarları məhdud istifadə halına gələ bilər, yəni bir istifadəçi müəyyən bir şəbəkə bağlantısı əldə edərsə, başqa bir istifadəçi bu əlaqəni istifadə edə bilməz
    • misalda yaşıl istifadəçi A kompüterinə qoşula bilməz, ancaq qırmızı istifadəçi aralarında birbaşa əlaqəsi olmasa da B ilə E-yə qoşulmuşdur.
  2. bəzi hallarda, bir cüt qovşaq birdən çox kənarla bağlanacaqdır
    • Məsələn, D-dən E-yə keçən iki müstəqil kabel var, buna görə yaşıl və mavi istifadəçilər hər ikisi də bu maşınları birbaşa bağlaya bildilər, lakin qırmızı artıq belə bir əlaqə qura bilməz
  3. iki kompüter birdən çox kabellə birləşdirilirsə, hər bir istifadəçi bu kabellərdən birindən çoxuna sahib ola bilər

Bu qrafikdə bir neçə əməliyyat görməliyəm, məsələn:

  • müəyyən bir kompüter cütlüyünün müəyyən bir istifadəçi üçün əlaqəli olub olmadığını müəyyənləşdirmək
  • müəyyən bir istifadəçinin hədəf kompüterləri birləşdirməsi üçün optimal yolu müəyyənləşdirmək
  • müəyyən bir istifadəçi üçün ən yüksək gecikməli kompüter bağlantısını müəyyənləşdirmək (yəni dallanmadan ən uzun yol)

İlk düşüncəm, sadəcə bütün kənarların bir kolleksiyasını yaratmaq idi, amma axtarış üçün dəhşətli bir şeydir. İndi düşünə biləcəyim ən yaxşı şey, siyahıdakı hər bir maddənin yalnız kənar uzunluğunu deyil, həm də dəyərini və mövcud sahibini ehtiva etməsi üçün bir bitişik siyahısını dəyişdirməkdir. Bu məntiqli bir yanaşmadır? Məkanın narahat olmadığını düşünsək, qrafın tək bir qrafika deyil, birdən çox nüsxəsi (hər istifadəçi üçün bir) yaratmaq məqsədəuyğun olarmı?


1 Cavab 1

Hər bir USB açıla bilən / quraşdırıla bilən Linux görüntüsünün bir PXE mühitində işləməyəcəyini anlamalısınız.

PXE olmayan bir şəkil ümumiyyətlə önyükləmə cihazından (HDD, USB, və s.) Boot və tələb olunan komponentləri alır.

PXE hazır bir görüntü əvvəlcə şəbəkədən yüklənəcək "və" başlanğıc ssenarisi oradan lazımi komponentləri əldə etmək üçün bir NFS, HTTP, SMB və s. Sistem qurmağa hazırdır.

Pxe qurmayan şəkillər yalnız şəbəkədən komponentləri götürməyə hazır bir başlanğıc ssenarisinə sahib deyil, eyni zamanda bir çox dəfə şəbəkə dəstəyi olmayan və ya həyatı təmin edən bəzi protokollar üçün kernel modullarına sahib olmayan nüvələr / busybox quruluşlarından istifadə edir. PXE HTTP və ya SMB kimi yükləyərkən daha asandır.

TFTP-nin yalnız bir neçə ilkin köçürmədə (pxelinux / vesamenu / kernel / initrd) istifadə olunduğunu unutmayın, yüklənmənin böyük bir hissəsi daha sonra HTTP tərəfindən köçürüləcək və ya NFS və ya SMB paylaşma qurğusu istifadə ediləcəkdir.

Sonra PXE-də bir USB Linux yükləmə şəkli açmaq istəyirsinizsə, distro initrd-i təhlil etməli və daxil edilmiş init skriptinin PXE-ni dəstəklədiyini yoxlamalısınız, sonra kernel / busybox-a net önyükləmə üçün reqd komponentlərini daxil edib etməməlisiniz. Bu əhəmiyyətsiz bir iş deyil.

"Quraşdırma deyil" bir görüntüyü önyükləmək istəyirsinizsə, ancaq canlı bir yayımdırsa, başlanğıc skriptinə squashfs faylını xalis birləşdirmə kodu əlavə etməlisiniz.

Nə quraşdırılmış, nə də canlı yayım olmayan bir görüntüyü yükləmək istəyirsinizsə, daha da mürəkkəbdir.


2 Cavablar 2

Bu, indiyə qədər etdiyim bir şey deyil, buna baxmayaraq təklif edirəm. Keçən gün bəzi başqa məqsədlər üçün müzakirə etdiyim kimi: nodeMCU, ParticleIO və ya bənzər bir şey gündən xilas edə bilər.

Bəyəndiyiniz hər hansı bir yayımda mopidiya ilə Pi qurun. Pi-ni bəzi IR qəbulediciləri ilə düzəltmək əvəzinə - və Pi-nin qoşulduğunu düşünsək - wifi vasitəsilə mopidy-yə qoşulmaq üçün nodeMCU istifadə edin. Yenə də bunu etmədim, buna görə burada yalnız təxmin edirəm. Mopidy-nin http və ya mpd uzantılarından istifadə edərək Piyadakı oyunu uzaqdan dəyişmək üçün bir neçə kiçik Lua ssenarisi tələb olunur. Wifi həllinin IR üzərindəki faydası, IR qəbuledicisinə yönəldilməsinə ehtiyac olmamasıdır.

Vikipediyada tam olaraq istədiklərinizi əks etdirən əlaqəli bir layihə var: "Düymə tək məqsədli, internetlə işləyən funksiyalar üçün dizayndır. Düyməyə basıldıqda, veb-serverlə əlaqə qurulur. İstədiyiniz vəzifə. "


Əvvəlcə qanunauyğun görünmür. heç olmasa düşündüm.

Ancaq buna daha yaxından baxaq:

Qazanırsan (və ya itirirsən) yox özünüzə səs verərək nüfuz. (Üstəlik, gözəl / yaxşı / möhtəşəm nümunələr üçün nişanlar yoxdur, ehtimal ki, hələ). A-da ən yaxşı nümunə üçün rəqabət yoxdur eyni alt mövzu, sadəcə mövcud olanları təkmilləşdirir və yalnız alt mövzu fərqli olduqda göndərirsiniz. (bu cümləni növbəti nöqtədə genişləndirmək)

Sənəd nümunəsi bir yazıdan fərqli olaraq həmişə olan bir şeydir güman edilir töhfə vermək, inkişaf etdirmək və həmişə təklif etmək yaxşı problemin həlli yolu (indi yazılara baxın: cavablar halında, mövcud cavablarda istifadə edilən texnikadan fərqli bir şəkildə istifadə edəcəyiniz təqdirdə başqa bir cavab göndərməyiniz tövsiyə olunur). Sənədlər nümunəsinin hazırda ən yaxşı təcrübəni təklif etdiyini düşünmürsənsə, ya dəyişiklik təklif edirsən, ya da yaxşılaşdırma tələb edirsən, amma gedib fərqli bir nümunə göndərmirsən. Əsasən bu, yeni bir cavabın digərindən daha yaxşı və ya pis ola biləcəyi yazılarda (ehtimal ki, İcma Wiki-si istisna olmaqla) belə deyil.

Nümunənizə kömək edənlər et nümunənizi səs verdiyiniz zaman şöhrət qazanmaq və bu çox vacibdir. Bəlkə də ən yaxşı nümunəni yazmamısınız, amma təkmilləşdirilmiş nümunəniz həqiqətən yaxşı oldu. Bu nümunəni yalnız göndərdiyiniz üçün səs verə bilməməyiniz qəribə olardı.

Sənədlərdəki səslər, bu alt mövzunun yaxşı / pis bir şəkildə açılmış olub olmadığını göstərmir, eyni zamanda ən çoxunu müəyyənləşdirməyə kömək edir. həyati (və öyrənmək üçün fisrt) bu mövzuda alt mövzu (uh, yenidən yazmağa ehtiyac var). Dedi ki, ümumiyyətlə öyrənilməli olan heç bir mövzu yoxdur, bu səbəbdən alt mövzunu kiçik əhəmiyyəti olduğu üçün alçaltmayacağam, əksinə başqa mövzunu səsləndirərdim.


Bəli, işləyəcək - bu işə salındı ​​(yox keçid) xam xətti tənzimləyici, lakin Q2 əks rejimdə işləyir və bir qədər daha zəif tənzimləyəcəkdir. LED cərəyanınız Q1 baza cərəyanını boğmaq üçün təxminən 3mA batması lazım olduğundan daha az olardı, beləliklə tərs aktiv rejimdə təxminən 1mA əsas cərəyan sərf edəcəkdir.

Transistor Q1 18.2mA-da təxminən 17.2V düşür, beləliklə dağılacaq (əhəmiyyətsiz olan baza cərəyanının yayılmasını nəzərə almadan) 313mW bir TO-92 tranzistoru üçün bir qədər azdır. Maksimum 50 ° C mühit və 200 ° C / W J-A istilik müqaviməti qəbul edilərsə, qovşaq 112 ° C-də olacaq, lakin bu, yaxşı etibarlılıq üçün əla deyil. '20V' həqiqətən 30V olsaydı, əlbəttə ki, daha pis olardı.

LED ilə ardıcıl bir müqavimət əlavə edərək tranzistordakı dağılmanı azalda bilərsiniz (minimum 20V təchizatı tənzimləməni qorumaq istədiyiniz qədər gedə bilər). Məsələn, 15V-dan 20V-ə qədər tənzimləməli olsa, təxminən 5V düşən bir müqavimət əlavə edə bilərsiniz, buna görə 5 / 18.2 = 270 $ Omega $.

20V sizi çox dəyişməyəcəksə ümumiyyətlə bir tənzimləyiciyə ehtiyac yoxdurvə yalnız bir müqaviməti tək bir tranzistorla dəyişdirmək (daha sonra soyuq olacaq) daha yaxşı və daha sadə (və daha etibarlı) olardı. Məsələn, 1K 1/2 W gücündə bir müqavimət.

Çox yaxşı bir tənzimləyici deyil, çünki "istinad" Q2-nin Vbe-si və temperaturla dəyişəcəkdir. Bəzi hallarda bir xüsusiyyət kimi qəbul edilə bilər, amma bu müzakirəni başqa bir müddətə tərk edəcəyəm.

Budur bir LTspice simulyasiyası, lakin temperatur əyriləri tranzistorun birləşmə temperaturuna tətbiq olunur. Gördüyünüz kimi, temperatur gərginlikdən daha çox təsir göstərir (öz-özünə istiləşməyə məhəl qoymur).

Əslində nə olacaq ki, bir qədər öz-özünə isitmə olacaq, beləliklə Q1 Q2-ni qızdırdıqca cərəyan daha yüksək başlayacaq və uçacaq.

Q2 düzgün bir şəkildə bağlanırsa, baza bu qədər cərəyana ehtiyac duymadığı üçün LED cərəyanı bir az aşağı olacaq. Mənim simulyasiyam (LTspice modellərindən istifadə edərək) sizinkindən bir az aşağı cərəyan göstərir, beləliklə dağılma nisbətdə daha azdır. Əsas amil saylarının tərs beta üçün nə qədər optimist olması ola bilər.

Prandialdan sonra bir az redaktə etmək üçün LED təchizatı və temperatur (mavi xətlər) ilə əlaqəli Q1 dağılma sahələrini əlavə etdim.


Məkan vektor məlumatlarını istifadə edərək bina nümunələrinin təsnifatı üçün qrafiki konvulsional sinir şəbəkəsi

Maşın öyrənmə metodları, xüsusən konvolyusional sinir şəbəkələri (CNN) bir çox fənlər üzrə elmi tədqiqatların ayrılmaz hissəsi kimi meydana çıxdı. Bununla birlikdə, bu güclü metodlar tez-tez məkan vektoru məlumatları ilə nümunə təhlili və bilik qazmağı həyata keçirə bilmir, çünki əksər hallarda bu məlumatlar şəbəkə bənzər və ya sıra strukturları deyil, yalnız qrafik strukturları kimi modelləşdirilə bilər. Bu iş, qrafika Fourier çevrilmə və konvulsiya teoremindən istifadə edərək, vertex domenindən Fourier sahəsindəki nöqtə baxımından məhsula çevrilərək yeni bir qrafik konvolyusiyasını təqdim edir. Bundan əlavə, qraf konstruksiyalı məkan vektor məlumatlarını təhlil etmək üçün qrafik konvolüsional sinir şəbəkəsi (GCNN) arxitekturası təklif olunur. Bu işin mərkəzi, dizayn qaydaları və xüsusi nümunələr üçün əl ilə çıxarılan xüsusiyyətlərin istifadəsi ilə məhdud qalmış naxış təsnifatının klassik vəzifəsidir. Qruplaşdırılmış binaları təmsil edən məkan vektor məlumatları qrafik şəklində modelləşdirilir və giriş dəyişənlərini toplamaq üçün ayrı binaların xüsusiyyətləri üçün indekslər araşdırılır. Bu qrafiklərin nümunə xüsusiyyətləri birbaşa təlim etiketli məlumatlarla çıxarılır. Təcrübələr, GCNN-nin nizamlı və qeyri-qanuni nümunələrin müəyyənləşdirilməsi baxımından qənaətbəxş nəticələr verdiyini və beləliklə mövcud metodlara nisbətən əhəmiyyətli bir inkişaf əldə etdiyini təsdiqlədi. Xülasə olaraq, GCNN qrafik quruluşlu məkan vektor məlumatlarının təhlili və daha da yaxşılaşdırılması üçün geniş potensiala malikdir.


1 Cavab 1

Şəxsən mən TFTP, RCS və diff istifadə edirəm, lakin orada kifayət qədər alət var. Məsələn WinAgents IOS Config Editor

Audit dedikdə nə demək istədiyindən əmin deyiləm. Hər bir IOS əmrinin orada nə etdiyini başa düşmək üçün vizual yoxlama və konfiqurasiya sənədindəki bir çox şərhdən istifadə edirəm. Şərhlər marşrutlaşdırıcıya yükləndikdə itirilir, amma hər zaman routerda deyil, TFTP serverdə dəyişikliklər edirəm. Bu şəkildə yenidən qurulmuş bir konfiqurasiya yükləyə, yükləyə, test edə və lazım gələrsə əvvəlcədən yapılandırmaya yükləyə bilərəm. Bunu yalnız bir marşrutlaşdırıcım olduğu üçün saatlarla həyata keçirirəm - buna görə də bir sınaq qurğusu mənim üçün həddindən artıq çox olar (amma bəlkə də sizin vəziyyətinizdə deyil).

Rutin olmayan dəyişikliklər etməzdən əvvəl, işləyən konfiqurasiyanı yükləyirəm, SDM-i yandırıram, ondan istifadə edərək dəyişikliklər edirəm, yeni işləyən konfiqurasiyanı yükləyirəm, standart konfiqurasiyaya qayıdır, SDM-nin nə dəyişdiyini görmək üçün diff istifadə edin, şərh edilmiş master konfiqurasiyama və dəyişdirilmiş hissələrə şərh əlavə edin.

Hər hansı bir dəyişiklik etdikdən sonra uyğun jurnal girişi ilə bir revizyon nəzarət sistemindəki dəyişikliyi yoxlayıram. Mənim vəziyyətimdə RCS var, çünki sıfır quraşdırma var, RCS-i bilirəm və daha kompleks bir şeyə ehtiyac yoxdur.


Oracle verilənlər bazasına nəzər yetirdim və aşağıdakı (ziddiyyətli) məlumatları tapdım:

Oracle Database-in yeni bir versiyasında çalışan mövcud tətbiqetmələr əvvəlki buraxılışlarda olduğu kimi eyni funksiyanı yerinə yetirir və eyni və ya inkişaf etmiş bir performans əldə edir. Yeni Oracle Database buraxılışında mövcud olan xüsusiyyətləri istifadə etməyən mövcud tətbiqləri dəyişdirməyiniz tələb olunmur.

Tətbiqlərinizi təsir edə biləcək Oracle Database-in müxtəlif versiyaları arasında uyğunluq problemləri ola bilər. Bu uyğunluq problemləri Oracle Database-in müxtəlif buraxılışlardakı fərqlərdən qaynaqlanır. Ayrıca, Oracle Database-in hər yeni buraxılışında yeni Oracle qorunan sözlər əlavə edilə bilər, başlanğıc parametrlərində dəyişikliklər edilə bilər və məlumat lüğətində dəyişikliklər edilə bilər.


Suvarma tövsiyələri üçün sensor məlumatları üzərində maşın öyrənməsinin tətbiqi: aqronomun səssiz məlumatlarını aşkar etmək

Jojoba İsrail, meyvə bağları bitki ehtiyaclarını real vaxt rejimində izləmək üçün torpaq nəm məlumatlarını toplayan sensorlarla örtülmüş Jojoba məhsullarının dünya lideri istehsalçısıdır. Bu məlumatlara əsasən şirkətin aqronomu həftəlik suvarma planını təyin edir. Bundan əlavə, hava, suvarma və məhsul haqqında məlumatlar digər mənbələrdən (məsələn, meteoroloji stansiya və suvarma planı qeydləri) qeyd olunur. Bununla birlikdə, bu günə qədər torpaq, hava, suvarma xüsusiyyətləri və əldə olunan məhsul kimi fərqli dəyişənlər arasındakı fikirləri və maraqlı əlaqələri ortaya qoymaq üçün toplanmış məlumatların hamısını istifadə etməyə cəhd edilməmişdir. Müxtəlif mənbələrdən alınan məlumatları birləşdirərək istifadə edərək, tədqiqatımız toplanan məlumatları yalnız məhsulu izləmək və nəzarət etmək üçün deyil, həm də suvarma tövsiyələrini proqnozlaşdırmaq üçün istifadə etməyi hədəfləyir. Xüsusilə, bir verilənlər bazası, iki böyük bir ərazidə (28 alt sahə və səkkiz suvarma qrupuna bölünmüş) yayılan 22 torpaq sensorundan, meteoroloji stansiyadan və faktiki suvarma qeydlərindən təxminən iki il ərzində toplanan məlumatların birləşdirilməsi yolu ilə hazırlanmışdır. Aqronomun tövsiyəsi ilə həftəlik suvarma planını proqnozlaşdırmağı bacaran modelləri inkişaf etdirmək üçün bu verilənlər bazasında fərqli reqressiya və təsnifat alqoritmləri tətbiq edilmişdir. Modellər, hansı dəyişkənlərin proqnozlaşdırma dəqiqliyinə ardıcıl töhfə verdiyini müəyyən etmək üçün səkkiz fərqli dəyişən alt dəsti istifadə edərək hazırlanmışdır. Nəticədə çıxan modelləri müqayisə edərək ən yaxşı reqressiya modelinin% 93 dəqiqliklə Gradient Boosted Regression Trees olduğu və ən yaxşı təsnifat modelinin% 95 dəqiqliklə (test dəstində) Boosted Tree Classifier olduğu göstərildi. Modelin proqnozlaşdırma müvəffəqiyyət dərəcəsinə kömək etməyən məlumatlar da müəyyən edildi. Nəticədə ortaya çıxan model aqronomun suvarma planlaşdırma prosesini əhəmiyyətli dərəcədə asanlaşdıra bilər. Bundan əlavə, məhsul və xəstəlik proqnozu üçün şirkət məlumatlarına maşın öyrənmə tətbiqetmə potensialı müzakirə olunur.

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