Бештар

Матритсаи масофаи QGIS: масофаи нодурусти метрӣ

Матритсаи масофаи QGIS: масофаи нодурусти метрӣ


Ман асбоби матритсаи масофаи хатиро дар QGIS 2.6 истифода кардам Системаи ҳамоҳангсозии ман метрӣ аст (Нидерландии RD нав) Натиҷаҳо даҳҳо хато доранд, тавре ки дар поён нишон дода шудааст. Чӣ тавр ман инро ислоҳ карда метавонам? (танҳо масофаҳои беназирро нишон додан)

Дохилшавӣ TargetID Масофа аз рӯи матритса масофаи воқеӣ 3 2 914.753.872.032 914 метр 3 1 119.476.303.875 1,19 км 4 1 156.770.528.678 1,56 км 4 3 162.709.997.483 1,62 km 4 2 226.796.645.372 2,26 км 6 5 241.698.218.226 2,41 км 6 3 614.677.367.185 6,14 км 6 4 631.106.480.203 6,31 km 6 2 693.828.353.563 6,93 km 6 1 723.724.716.201 7,23 km 2 1 105.868.974.731 1,05 км 5 3 38.004.119.442 3,8 км 5 4 390.398.472.686 3,9 км 5 2 46.440.219.167 4,64 км 5 1 484.470.336.769 484 метр

Ман намедонистам, ки Нидерланд яке аз кишварҳоест, ки рақамҳои арабиро бо вергули даҳӣ истифода мебарад (http://en.wikipedia.org/wiki/Decimal_mark). Аз ин сабаб, он ҳамчун мушкилоти маҳаллӣ ба назар мерасад. Дар Испания (ки он низ вергулро истифода мебарад), барои пешгирӣ аз мушкилоти маҳаллӣ, ман QGIS-и худро бо забони англисии USE ва "Override local local system" (Settings-> Options-> Local) истифода мебарам.

Барои санҷидани кори дурусти "асбоби матритсаи масофа" дар системаи худ, ман қабати вектории нуқтаро дар QGIS бор карда, асбобро идора кардам.

Ман матритсаи масофаи худро ҳамчун файли CSV чоп кардам, ки дар он сабти аввалро барои ҳадафи тасдиқ интихоб кардам (бо сурх):

Дар тасвири навбатӣ ман нуқтаҳоро бо id 0-4 интихоб карда, масофаи онро бо "Tool Line Line" чен кардам. Натиҷа бо натиҷаи дар файли CSV муқоисашаванда буд.


Оё шумо csv -ро бо муҳаррири матн ё бо Excel кушодед? Excel бо вергулҳои ҷудокунанда, ҳазор нуқта ва вергулҳои даҳӣ омехта мешавад; вобаста аз маҳалли ҷойгиршавии компютерҳои шумо.

Агар шумо вергулро бо вергул иваз кунед, он бояд кор кунад. Инро муҳаррири матни хуб ба монанди notepad ++ барои Windows метавонад ба осонӣ иҷро кунад.


QGIS барои таълими фосилавӣ ва таълими GIS дар донишгоҳҳо

Донишгоҳи Квинсленд Ҷанубӣ (USQ) як донишгоҳи минтақавӣ аст, ки дар ҷанубу шарқи Квинсленд, Австралия ҷойгир аст. Он дорои 28,000 донишҷӯён ҳам дар дохили шаҳраки донишҷӯӣ ва ҳам берун аз он таҳсил мекунад. Дастрасии донишҷӯёни берун аз шаҳраки донишҷӯӣ ба технологияҳои муосир, аз қабили хидматҳои Интернет ба куллӣ фарқ мекунад. Онҳо инчунин намудҳои гуногуни компютерҳоро истифода мебаранд (масалан, Дафтарча, Мизи корӣ ва ғ.) Бо системаҳои гуногуни амалиётӣ (масалан, Windows, MacOS ва Linux).

Таъмини таҳсил ҳам дар дохили шаҳраки донишҷӯӣ ва ҳам берун аз шаҳраки донишҷӯён мушкилоти зиёди технологӣ дорад. Таълими курси GIS бартараф кардани ин мушкилотро талаб мекунад. Ба ҳисоби миёна, ҳар сол 300-350 донишҷӯ дар курси асосии ҶММ сабти ном мешаванд. Тақрибан 80% онҳо дар режими берун аз шаҳрак таҳсил мекунанд.

Харитаи асосии шаҳраки USQ бо истифодаи QGIS сохта шудааст ¶


Алгоритми Ҳисобкунии Матритсаи Такмили Масофа барои Кластерҳои Бисёркора

Матритсаи масофа дар соҳаҳои гуногуни тадқиқот истифодаи гуногун дорад. Ҳисобкунии он одатан вазифаи муҳим дар аксари барномаҳои биоинформатикӣ мебошад, алахусус дар ҳамбастагии сершумор. Таркиши азими пойгоҳи додаҳои пайдарпаии биологӣ ба зарурати фаврии суръат бахшидани ин ҳисобҳо оварда мерасонад. DistVect алгоритм дар коғази Al-Neama et al. (дар матбуот) барои пешниҳоди усули охирин барои векторкунии компютеризатсияи матритсаи масофа. Он нишондиҳандаи самарабахшро дар компютерҳои пайдарпай ва ҳам параллелӣ нишон дод. Бо вуҷуди ин, системаҳои кластерии бисёркора, ки ҳоло дастрасанд, бо миқёспазирӣ ва таносуби самарабахшӣ ва хароҷот, ниёз ба иҷрои пурқудрат ва муассирро бароварда мекунанд. Ин коғаз пешниҳод мекунад DistVect1 ҳамчун алгоритми векторикунонидашудаи параллелии самаранок бо иҷрои баланд барои ҳисобкунии матритсаи масофа, ки ба кластерҳои бисёркора равона шудаанд Он ислоҳ мекунад DistVect1 алгоритми векторишуда дар робита бо кластерҳои ибтидоӣ. Он усули самараноки тақсимот ва банақшагирии ҳисобҳоро, ки барои ин намуди меъморӣ мувофиқ аст, бармеангезад. Амалисозӣ имкониятҳои ҳам китобхонаҳои MPI ва ҳам OpenMP-ро истифода мебаранд. Натиҷаҳои таҷрибавӣ нишон медиҳанд, ки усули пешниҳодшуда такмилдиҳии тақрибан 3 маротиба суръатро дар SSE2 иҷро мекунад. Ғайр аз он, он дар муқоиса бо татбиқи параллелии дар ClustalW-MPI истифодашудаи беш аз 9 фармоиш шиддат мегирад.

1. Муқаддима

Матритсаи масофа (DM) ба массиви дуандозае мансуб аст, ки масофаи ҷуфтии маҷмӯи элементҳоро дар бар мегирад. ДМ дар соҳаҳои гуногуни таҳқиқоти илмӣ истифодаи васеъ дорад. Он дар кластерсозии маълумот [1], шинохтани намуна [2], таҳлили тасвир [3], ҷустуҷӯи иттилоот [4] ва биоинформатика босуръат истифода мешавад. Дар биоинформатика, он асосан дар сохтани ба ном дарахти филогенетикӣ истифода мешавад, ки диаграммаест, ки хатҳои пайдоиши эволютсионии намудҳо, организмҳо ё генҳои гуногунро аз як аҷдоди умумӣ тасвир мекунад [5].

Афзоиши таркиши геномҳо қобилияти мувофиқат кардани шумораи зиёди пайдарпаии дарозмуддатро муҳимтар мекунад. Масалан, Release Project Database Ribosomal Project Release 10 [6] аз беш аз миллион пайдарпай иборат аст. Ин ба шумораи зиёди ҳисобҳои масофа оварда мерасонад. Ҳамин тавр, барои танзими пайдарпаии 100,000, тақрибан 5 миллиард масофаро барои сохтани ИМ пурра ҳисоб кардан лозим аст. Ҳатто агар пайдарпаӣ кӯтоҳ ва ҷуфт бошад ҳам, ҳисобу китоби масофаро нисбатан зуд иҷро кардан мумкин аст, бо суръати

., ҳамоҳангсозии онҳо ҳанӯз қариб 12 рӯзи вақти CPU талаб мекунад. Душвориҳои дигар ин чӣ гуна нигоҳ доштани унсурҳои ДМ аст, зеро он то 40 ГБ хотира мегирад. Ин боиси он мегардад, ки усулҳои нав барои тезонидани ҳисобкунии масофа ва самаранок истифода бурдани захираҳо заруранд.

Аз тарафи дигар, рушди босуръати сахтафзори компютерии баландсифат (HPC) қобилияти ҳисоббарории сатҳи баландсифатро таъмин менамояд. Дурустии баланди компютерҳои чандкора, кластерҳо ва шабакаҳо имрӯзҳо торафт дастрастар ва тавонотар гашта истодаанд [7]. Аз ин рӯ, истифодаи технологияҳои баландмаҳсул барои кушодани нерӯи чунин системаҳо таваҷҷӯҳ дорад. Дар ҳамин ҳол, китобхонаҳои барномасозии параллелӣ, ба монанди OpenMP ва MPI, ба барноманависон имкон доданд, ки аз қобилияти бузурги ҳисоббарории бисёркора ва кластерҳо барои истифодаи умум истифода баранд.

Барои самаранок ҳисоб кардани матритсаи масофа кӯшишҳои зиёде ба амал омадаанд. Чӣ тавре ки дар боби навбатӣ дида мешавад, онҳое, ки GPU-ҳоро истифода мебурданд, воқеан зуданд, аммо дарозии пайдарпаии онҳо маҳдуд аст. Усулҳои дигаре, ки метавонанд бо пайдарпаии дароз кор кунанд ва ҳамоҳангии дақиқро ба бор оранд, нисбатан сустанд. Ҳавасмандии мо аз усули самарабахш иборат аст, ки суръат ва қобилияти мутобиқ кардани пайдарпаҳои дарозро дар бар мегирад.

Ин коғаз тавсеаи кори мо дар [8] мебошад. Як нусхаи такмилёфтаи DistVect алгоритм пешниҳод карда мешавад. Ҳисобҳо барои идоракунии нобаробарии сарборӣ бо мақсади баланд бардоштани самаранокии умум самаранок тақсим карда мешаванд. Алгоритм ба модели гибридӣ такмил дода шуд, то ки фоидаи максималии моделҳои майда ва дағал ба даст орад. Усули пешниҳодшуда ба кластерҳои бисёркора бахшида ба маъруфияти имрӯзааш бахшида шудааст ва барои ба даст овардани суръати баландтари коркард.

Ҳиссагузориҳои асосии ин ҳуҷҷат инҳоянд: (i) тарҳрезии параллели васеъ DistVect алгоритми ҳисобкунии матрицаи масофа дар кластерҳои бисёркора, ном дорад DistVect1, барои зуд мувофиқат кардани пайдарпаии бузург, (ii) татбиқи пешниҳодшуда DistVect1 алгоритми истифодаи C ++ бо MPI ва OpenMP дар платформаи Bibliotheca Alexandrina, (iii) гузаронидани таҷрибаҳои ҳамаҷониба бо истифода аз ҳаҷми гуногуни маҷмӯи маълумоти воқеӣ ва нишон додани он, ки барномаи таҳиянамудаи мо ҳам аз ҷиҳати вақти иҷрои ClustalW-MPI ва ҳам SSE2 бартарӣ дорад, (iv) тафтишот таъсири афзоиши ҳам шумора ва ҳам дарозии пайдарпаӣ ба суръат ва нишон додани он DistVect1 ҳангоми зиёд шудани дарозии геномҳо суръатбахшии назаррас медиҳад.

Қисми боқимондаи ин коғаз чунин тартиб дода шудааст. Дар боби 2 мухтасар усулҳои асосӣ ва алгоритмҳои марбут ба матритсаи масофа оварда шудаанд. Қисми 3 шарҳ медиҳад DistVect алгоритм. Қисми 4 такмилдода муҳокима мекунад DistVect1. Қисми 5 тартиби татбиқро мухтасар тавсиф мекунад ва натиҷаҳоро бо таҳлили муфассал пешниҳод мекунад. Ниҳоят, фасли 6 мақоларо хотима медиҳад ва кори ояндаро пешниҳод мекунад.

2. Кори марбут

Ҳисобкунии матритсаи масофа ҳамчун марҳилаи назарраси аксари воситаҳои ҳамоҳангсозии пайдарпаӣ ҳисобида мешавад. Барои мутобиқ кардани маҷмӯаи андозаи

, ки дар он шумораи пайдарпаӣ аст ва дарозии миёнаи онҳо, ҳисобкунии унсурҳои ДМ талаб мекунад

муқоисаи ҷуфтӣ. Ҳар як муқоиса матритсаи андоза истифода мекунад

барои ба даст овардани масофа. Ин ҳисобҳо метавонанд вақте манъ карда шаванд ва хеле калон бошанд (яъне дар даҳҳо ҳазор). Якчанд барномаҳои ҳамоҳангсозӣ мавҷуданд, ки маҷмӯи маълумотҳои ин андоза ва дақиқии қобили қабулро иҷро мекунанд, ба монанди MAFFT [9], DIALIGN [10] ва Clustal [11]. Аксари усулҳои дақиқ метавонистанд мунтазам садҳо ё якчанд ҳазор пайдарпаиро идора кунанд, ба монанди MUSCLE [12], Probcoms [13] ва T-Coffee [14].

Барои мувозӣ кардани ҳисобҳои ИМ қарорҳои умедбахш пайдо шуданд. Алгоритмҳои гуногуни мувозӣ барои бартараф кардани монеаҳои суръат / фазо барои системаҳои гуногуни HPC, ба монанди мошинҳои бисёрпроцессорӣ ва кластерҳои истгоҳ пешниҳод карда шуданд. Як гурӯҳ ба параллелизатсияи амалиёт дар ҷузъҳои хурдтари маълумот равона шудааст. Татбиқи маъмулии ин равиш бо истифодаи бисёрсоҳа дар [15, 16] мавҷуд аст. Дигарон ба паҳн кардани ҳар як ҷуфти мустақили пайдарпаӣ дар коркардкунандагони гуногун тамаркуз мекунанд. Усули маъмултарини параллелӣ, ки ин равишро истифода мебарад, ClustalW-MPI мебошад [17]. Он барои кластерҳои истгоҳи корӣ бо меъмории тақсимшудаи хотира равона карда шудааст. Саҳми асосии он таъмини татбиқи муассири хотираи тақсимшудаи ClustalW буд, ки онро дар доираи васеи тақсимоти кластерҳои хотираи тақсимшудаи компютерӣ ва мултикомпьютерҳои параллелӣ иҷро кардан мумкин аст.

Вираван ва дигарон. истифода бурдан дар [18] истифодаи равиши байнивазифа, бо модели SIMD. Онҳо аз он истифода мебаранд, ки ҳамаи унсурҳои як диагонали хурдро мустақилона параллел ҳисоб кардан мумкин аст. Онҳо коркардкунандагони маъмулии Intel-ро бо дастури SSE2, ки унсурҳои 16-битиро дастгирӣ мекарданд, истифода бурданд ва як воситаи нармафзор бо номи SSE2 истеҳсол карданд, ки асосан бо C бо p-thread API навишта шуда буд. Ин равиш дар баъзе усулҳои охирин истифода шудааст [15, 19-21], ки параллелизм дар дохили як ҷуфти ягонаи пайдарпаӣ рух медиҳад, то вобастагии додаҳо дар матритсаи мувофиқат пешгирӣ карда шавад.

GPU дар [22] барои суръат бахшидан ба ҳамбастагии пайдарпа истифода шудааст. Он алгоритмҳои мутобиқсозии барномасозии динамикиро ҳамчун алгоритмҳои ҷараёнӣ дар робита бо ибтидоии графикаи компютерӣ ислоҳ кард. Натиҷаҳои таҷрибавӣ нишон медиҳанд, ки усули дар асоси GPU мавҷудбуда нисбат ба татбиқи оптимизатсияи CPU суръатбахшии беш аз як дараҷа имкон медиҳад. Бо вуҷуди ин, ин чандон шадид нест, зеро 99,8 фоизи пайдарпаии пойгоҳи додаҳо дарозии & lt4,096 мебошанд. Ғайр аз он, интизор шудан оқилона аст, ки андозаи буферии иҷозатдодашуда дар таҷҳизоти графикии насли нав зиёд мешавад.

Инчунин, CUDASW ++ [20] алгоритми Смит-Уотерманро барои CUDA GPU мувозӣ мекунад, ки холҳои монандии пайдарпайии дархостро бо ҳар як пайдарпаии пойгоҳи додаҳо ҳисоб мекунад. Таҳлили натиҷаҳо нишон медиҳад, ки дараҷаи умумӣ аз рӯи тартиби аз се то чор навсозии гига-ҳуҷайраҳо дар як сония беҳтар карда шудааст. Версияи ягонаи GPU ба ҳисоби миёна ба ҳисоби миёна 9,509 GCUPS бо нишондиҳандаи пасттарин 9,039 GCUPS ва баландтарин 9,660 GCUPS ва версияи дугона GPU ба ҳисоби миёна 14,484 GCUPS бо нишондиҳандаи пасттарин 10,660 GCUPS ва баландтаринро ба даст меорад. иҷрои 16.087 GCUPS. Аммо он пайдарпаии дархостҳои дарозии то 59 K ва барои пайдарпаии дархостҳо аз 144 то 5,478-ро дастгирӣ мекунад.

Ин равиш аз ҷониби муаллифони он боз ҳам омӯхта шудааст, ки дар натиҷа SIMT-и оптималӣ ва алгоритми векторишудаи тақсимшудаи CUDASW ++ 2.0 [19] бо иҷрои ҳайратангез то 17 GCUPS дар GeForce GTX 280 ва 30 GCUPS дар дугонаи GPU GeForce GTX 295 оварда шудааст.

Ҳамин тавр, CUDASW ++ 3.0 [21] дастурҳои CPU ва GPU SIMD-ро ҷуфт мекунанд ва ҳисобҳои параллелии CPU ва GPU-ро иҷро мекунанд. Он воҳидҳои иҷрои векторҳои SSE-ро ҳамчун акселераторҳо истифода мебарад ва дастурҳои видеоии CUDA PTX SIMD-ро барои ба даст овардани параллелизм бештар аз доираи модели иҷрои SIMT истифода мекунад. Арзёбӣ нишон медиҳад, ки CUDASW ++ 3.0 нисбат ба CUDASW ++ 2.0 то 2.9 ва 3.2, бо ҳадди аксар 119.0 ва 185.6 GCUPS, мутаносибан дар як корти графикии ягона-GPU GeForce GTX 680 ва корти графикии дугона-GPU GeForce GTX 690 такмилдиҳӣ ба даст меорад. Он инчунин суръатбахшиҳои назаррасро дар SWIPE ва BLAST + нишон дод. Аммо, пайдарпайтарин дархостҳо дарозии 5.478-ро барои ҷустуҷӯ дар муқобили пойгоҳҳои сафедаи Швейтсария-Прот, ки дарозии пайдарпайии 35,213 доштанд, ташкил дод.

Бо вуҷуди ин, аксарияти татбиқи GPU наметавонанд пайдарпаии дарозтар аз 59,000 пасмондаҳоро мувофиқат кунанд. Ин ба хусусиятҳои аслии SIMD -и GPG вобаста аст, ки дар он қубурсозӣ омили бузурги суръатбахширо фароҳам меорад, аммо истифодаи шадиди хотира метавонад ба тангӣ оварда расонад. Ин ба ҷойгиркунии меъмориҳои дигар, ба монанди бисёрҷанбаҳо оварда мерасонад [23]. MC64-ClustalWP2 ба қарибӣ ҳамчун татбиқи нави алгоритми ClustalW таҳия шудааст, ки пайдарпаии дарозро дар меъморӣ бо бисёре аз ядроҳо мутобиқ мекунад. Он нисбат ба алгоритми аслии ClustalW 18 маротиба тезтар масирҳои гуногунро иҷро мекунад ва метавонад пайдарпаии нисбатан тӯлонӣ (зиёда аз 10 кб) -ро баробар созад.

Муаллифон алгоритми ҳисобкунии матрицаи векторишудаи масофаро пешниҳод карданд DistVect [8]. Алгоритм масъалаи сохтани асбоби параллелиро барои бисёркубаҳо ҳал мекунад, ки дар муддати кӯтоҳ бидуни истифодаи фазои нигаҳдорӣ ҳамоҳангсозии пайдарпайҳои сершуморро истеҳсол мекунанд. Саҳми асосӣ векторикунонии ҳамаи матритсаи истифодашуда дар ҳисоб буд. Бо роҳи таҷрибавӣ, усули пешниҳодшуда қобилияти хуби мутобиқсозии шумораи зиёди пайдарпаиро тавассути қобилияти тавонои такмилёфтаи муомилоти нигаҳдорӣ бо такмили самараноки вақти коркарди умумӣ ба даст овард.

3. DistVect Алгоритм

DistVect [8] як алгоритми суръатбахш аст, ки матритсаи масофаро барои мутобиқсозии маҷмӯаҳои бузург ҳисоб мекунад. Он бартарии кам кардани ҷойро дорад. Он ҳамчун вуруд мегирад , пайдарпаӣ

дарозии миёна, бо матритсаи ивазкунандаи онҳо sbt ва арзиши габ

. Он вектори масофаро мебарорад,

, дорои холи монандӣ (масофа) -ро барои ҳар як ду пайдарпаӣ. Он дар векторкунии матрицаҳо, ки Лю ва дигарон пешниҳод кардаанд, кор мекунад. дар [22] ва аз ҷониби Вираван ва дигарон истифода шудааст. дар [18]. Он бо назардошти афзалияти мустақилияти унсурҳои диагоналҳои хурди матрицаҳо ҳисобҳои векторҳоро параллел мекунад.

Барои ҳисоб кардани шумораи мувофиқатҳои мувофиқ ва онро барои татбиқи параллелии мувофиқ, Лю ва диг. [22] муносибати такроршавандаро барои шумораи ҳисобҳои дақиқи мутобиқат, ки барои татбиқ бо истифодаи ҷазои хаттии холигӣ ​​мувофиқтар аст, таҳия кардааст. Ин формула ҳисоббаробаркуниро бе ҳисобкунии масиркунии воқеӣ осон мекунад. Бо назардошти ду пайдарпаӣ