Ko ha fakafe'iloaki fetu'utaki ki he quadtrees .
Ngaahi fakamatala
Mewayz Team
Editorial Team
Ko e hā ʻoku mahuʻinga ange ai ʻa e Quadtrees ʻi he meʻa ʻokú ke fakakaukau ki aí
Ko e taimi kotoa pe 'oku ke pinch-to-zoom 'i ha mape fakakomipiuta, fehu'i 'a e ngaahi falekai ofi, pe sio ki ha taimi mo'oni 'o e fleet tracker fakafo'ou 'o e ngaahi faka'ilonga 'o e me'alele 'e laui hongofulu 'o 'ikai ha'o browser grinding ki ha tu'u, 'Oku 'i ai ha faingamalie lelei 'oku fai 'e ha quadtree 'a e hiki mamafa 'i mui 'i he ngaahi me'a 'oku hoko. Ko e Quadtrees ko e taha ia 'o e ngaahi fokotu'utu'u 'o e fakamatala faka'ofo'ofa 'oku 'ikai ke fanongo ki ai 'a e tokolahi taha 'o e kakai, ka 'oku nau fakalongolongo 'a e ivi 'o e ni'ihi 'o e ngaahi sisitemi fakahoko-fakatu'utamaki taha 'i he polokalama fakakomipiuta fakaonopooni — mei he va'inga vitio 'o e fepakipaki 'o e 'ilo ki he ngaahi sisitemi fakamatala fakasiokalafi 'oku nau ngaue'aki 'a e ngaahi fehu'i spatial 'e laui miliona 'i he sekoni. Ko e mahino kiate koe ʻa e founga ʻoku nau ngāue aí ʻoku ʻikai ke ne ʻai pē koe ko ha tokotaha fakalakalaka lelei ange; 'oku ne liliu fakalukufua 'a e founga 'oku ke fakakaukau ai ki hono fokotu'utu'u mo e fekumi 'o fakafou 'i he ngaahi fakamatala fakafeitu'u. Pe 'oku ke langa ha tu'unga 'o e tu'uaki 'o e ngaahi me'alele, ha dashboard 'analaiso 'oku makatu'unga 'i he feitu'u, pe feinga pe ke 'oatu 'a e ngaahi poini 'o e fakamatala 'e 50,000 'i ha kaniva 'o 'ikai ke faka'auha 'a e browser, 'Oku 'oatu 'e he quadtrees ha fakalelei'anga 'oku fakatou 'ilo'i mo fakaofo 'a e ola lelei.
Ko e hā tonu ʻa e ʻAkau ʻe Faá?
Ko e quadtree ko ha fokotu'utu'u 'o e fakamatala 'akau 'a ia 'oku 'i ai 'a e note kotoa pe 'i loto 'oku 'i ai 'a e fanau 'e toko fa tonu, 'oku takitaha fakafofonga'i 'e he quadrant 'e taha 'o ha feitu'u 'oku 'i ai hono tafa'aki 'e ua. Fakakaukauloto atu ki hono toʻo ha vahefonua tapafā pea vahevahe ia ki ha tapafā tatau ʻe fā — tokelau hihifo, tokelau hahake, tonga hihifo, mo e tonga hahake. 'E lava ke toe vahevahe 'a e ngaahi sikuea takitaha ko ia ki ha toe sikuea 'e fa, pea pehe atu, recursively, kae 'oua kuo ke a'u ki ha tu'unga tu'u. Ko e tu'unga ta'ofi ko ia 'oku angamaheni pe ko ha loloto lahi taha pe ko ha threshold ki he lahi 'o e ngaahi poini 'o e fakamatala 'e lava ke pukepuke 'e ha node 'e taha kimu'a pea toki fie ma'u ke vahevahe.
Ko e faka'ofo'ofa 'o e founga ko 'eni 'oku 'i hono natula fe'unga. 'Oku ma'u 'e he ngaahi feitu'u dense mo e ngaahi poini 'o e fakamatala 'a e subdivided ki he ngaahi selo finer mo e finer, lolotonga ia 'oku kei 'i ai pe 'a e ngaahi feitu'u sparse ko e ngaahi vahenga lalahi, undivided. Ko ha quadtree 'oku ne tanaki 'a e ngaahi feitu'u 'o e ngaahi falekoloa kofi 'e 10,000 'i ha fonua 'e fakatupu 'e he loloto, ngaahi vahevahe fakaikiiki 'i 'olunga 'i Manhattan — 'a ia 'e lava ke 'i ai ha ngaahi falekoloa 'e 300 'i loto 'i ha ngaahi kilomita tapafā si'i — lolotonga hono tauhi 'o e ngaahi konga lahi 'o e tukui kolo 'o Wyoming ko ha poini 'e taha, unsplit node one containing. Ko e fakalelei'i adaptive ko 'eni ko e me'a ia 'oku ne 'ai 'a e quadtrees ke fu'u malohi 'i hono fakafehoanaki ki ha grid 'oku palapala, 'a ia 'e maumau'i 'a e ngaahi lahi 'o e manatu 'i he ngaahi selo 'ata'ata.
Na'e fuofua fakamatala'i 'a e fakakaukau 'e Raphael Finkel mo J.L. Bentley 'i he 1974, pea talu mei ai kuo ne va'a ki ha ngaahi kehekehe: ngaahi 'akau 'o e poini 'oku ne tanaki 'a e ngaahi hoa fakafekau'aki fakafo'ituitui, 'a e ngaahi 'akau 'o e vahefonua 'oku ne fakafofonga'i 'a e ngaahi feitu'u fakafeitu'u ('aonga ki he laine 'o e 'imisi mo e handle . ngaahi piko. 'Oku fakalelei'i 'e he kehekehe takitaha ki he ngaahi keisi kehekehe 'o hono faka'aonga'i, ka 'oku kei tatau pe 'a e tefito'i mo'oni 'o e vahevahe recursive tefito 'i he kotoa 'o kinautolu.
Founga Ngaue 'a e Fakahu mo e Fehu'i
Ke fakahu ha poini ki ha quadtree, 'oku ke kamata 'i he note 'o e aka pea fakapapau'i pe ko e fē 'i he quadrants 'e fa 'oku tō ki ai 'a e poini. 'Oku ke recurse leva ki he note 'o e tamasi'i 'o e quadrant ko ia pea toe fai 'a e founga. Kapau te ke a'u ki ha note lau 'oku te'eki ke laka hake 'i hono malava ('oku angamaheni 'aki hono fokotu'u ki he poini 'e 1 pe 4), 'oku ke tanaki pe 'a e poini 'i ai. Kapau kuo ʻosi ʻi he tuʻunga ʻo e laú, ʻokú ne vahevahe ia ki ha fānau ʻe toko fā, ʻo toe tufaki ʻene ngaahi poini ʻoku ʻi aí ʻi honau lotolotongá, pea fakahū leva ʻa e poini foʻoú ki he tamasiʻi totonú. Ko e founga ko 'eni 'oku angamaheni 'aki hono fakakakato 'i he O(log n) taimi ki ha tufaki'anga koloa palanisi, neongo 'e lava ke fakasi'isi'i 'e he ngaahi tu'unga kovi taha-keisi mo e fakamatala 'oku fu'u fakatahataha'i 'a e fakahoko ngaue.
Range querying — kumi 'a e ngaahi poini kotoa pe 'i loto 'i ha 'elia tapafā kuo 'oatu — ko e feitu'u ia 'oku ulo mo'oni ai 'a e quadtrees. Kae 'ikai ke vakai'i 'a e poini takitaha kotoa pe 'i ho'o dataset (ko ha ngaue O(n), 'Oku ke kamata 'i he aka pea 'eke ha fehu'i faingofua 'i he node takitaha: 'oku fetaulaki 'a e ngata'anga 'o e node ko 'eni mo 'eku tapafā kumi? Kapau 'oku 'ikai, 'Oku ke prune 'a e subtree kotoa — 'e malava ke fakangata 'a e ngaahi poini 'e lauiafe mei he fakakaukau 'i ha fakafehoanaki 'e taha. Kapau 'oku 'i ai ha fetaulaki'anga, 'oku ke recurse ki he fanau fekau'aki. Ko e ngaahi poini 'oku ma'u 'i he ngaahi note lau 'oku to 'i loto 'i he tapafā kumi 'oku ma'u 'a e tanaki atu ki he seti 'o e ola.
Fakakaukau ki ha fakatātā ʻaonga: ʻoku ʻi ai haʻo dataset ʻo e ngaahi feituʻu ʻo e kau kasitoma ʻe 100,000 pea ʻoku fie maʻu ke ke kumi ʻa e tokotaha kotoa pē ʻi ha kilomita ʻe 5 ʻo e fakaava ʻo ha falekoloa foʻou. Ko ha founga brute-force 'oku fie ma'u 'a e 100,000 'o e ngaahi fakafuofua 'o e mama'o. Ko ha quadtree langa lelei 'e lava ke ne fakasi'isi'i 'a e me'a ko ia ki he 200-500 sieke pe 'aki hono fakangata vave 'a e ngaahi vahenga fakasiokalafi kakato 'oku mahino 'oku 'ikai ke nau 'overlap mo ho'o feitu'u kumi. Ko e fakalakalaka ia 'o e fakahoko 'o e 200x pe lahi ange — ko e faikehekehe 'i he vaha'a 'o ha fehu'i 'oku ne to'o 'a e milisekoni 'e 800 mo e to'o 'o e milisekoni 'e 4.
Ngaahi Polokalama 'o e Mamani Mo'oni 'oku Lele 'i he Quadtrees
Ko e ngaahi faka'aonga'i 'o e quadtrees 'oku fakalahi mama'o atu ia 'i he saienisi fakakomipiuta fakaako. Ko e ngaahi fakava'e kinautolu ki he ngaahi sisitemi 'oku ngaue'aki faka'aho 'e he kakai 'e laui piliona, 'o 'ikai ke nau fa'a 'ilo'i.
- Mape mo e fakafolau: Ko e ngaahi sevesi hange ko e Google Maps mo e Mapbox 'oku nau ngaue'aki 'a e ngaahi sisitemi tile hange ko e quadtree ke sevesi 'aki 'a e ngaahi 'ata 'o e mape. 'Oku vahevahe 'e he levolo zoom takitaha 'a e ngaahi tile ki he fanau 'e toko fa, ko e 'uhinga ia 'oku muimui ai 'a e ngaahi fakafekau'aki 'o e tile mape ki ha sipinga z/x/y 'oku ne faka'ata 'a e tu'asila quadtree. 'I he taimi 'oku ke fakalahi ai ki ha poloka kolo, ko e ngaahi taila resolution ma'olunga fekau'aki pe 'oku uta — 'oku nofo 'a e toenga 'o e mamani 'i he resolution fefeka.
- Ko e 'ilo'i 'o e fepakipaki 'i he ngaahi va'inga: 'Oku ngaue'aki 'e he ngaahi misini va'inga 'a e quadtrees (pea mo honau hoa 3D, octrees) ke 'ilo'i lelei 'a e taimi 'oku fepakipaki ai 'a e ngaahi me'a. Kae 'ikai ke sivi'i 'a e hoa kotoa pe 'o e ngaahi me'a — ko ha misi fakalilifu O(n2) mo e ngaahi me'a 'e 1,000 'i he screen — 'oku vakai'i pe 'e he misini 'a e ngaahi me'a 'oku nau vahevahe 'a e selo quadtree tatau, 'o fakasi'isi'i 'a e ngaahi sieke ki ha fika 'oku lava ke pule'i.
- Fakamālohi'i 'o e 'imisi: 'E lava ke fakafefeka'i 'e he quadtrees 'o e vahefonua 'a e ngaahi 'ata 'aki hono fakataha'i 'a e ngaahi pixels 'oku nau fehangahangai 'oku nau vahevahe 'a e ngaahi lanu tatau ki ha ngaahi poloka lalahi ange. Ko e makatu'unga 'eni 'o e ngaahi founga 'o e compression pau 'oku nau a'usia 'a e 10:1 'o e ngaahi ratios 'o e compression lolotonga hono tauhi 'o e faitotonu 'o e sio 'i he ngaahi feitu'u 'o e fakaikiiki ma'ulalo.
- Pule’i ‘o e ngaahi vakapuna mo e ngaahi me’a fakalotofonua: ‘Oku ngaue’aki ‘e he ngaahi kautaha tu’uaki ‘a e indexing fakafeitu’u ke fakafehoanaki ‘a e kau faka’uli mo e ngaahi ‘ota ofi ‘i he taimi totonu. 'Oku faka'ata 'e ha quadtree ha sisitemi dispatch ke tali vave 'a e fehu'i "ko e fē 'a e kau faka'uli 'e 5 'oku ofi taha ki he feitu'u pickup ko 'eni?" 'i he tafa'aki 'o e ngaahi me'alele 'e lauiafe 'oku nau fakafo'ou honau ngaahi tu'unga GPS 'i he ngaahi sekoni si'i kotoa pe.
- Geospatial analytics: Ko e ngaahi tu'unga 'oku nau fakatahataha'i 'a e ngaahi fakamatala pisinisi 'oku makatu'unga 'i he feitu'u — mape 'o e tokolahi 'o e kasitomaa, fakalelei'i 'o e vahefonua fakatau, 'analaiso 'o e tu'u'anga 'o e falekoloa — 'oku fakafalala ki he ngaahi fokotu'utu'u 'o e fakamatala fakafeitu'u ke 'ai 'a e ngaahi fehu'i ko 'eni ke fetu'utaki kae 'ikai ko e batch-ngaue'aki.
Ko e tefito'i 'ilo 'i mui 'i he quadtrees ko e lahi taha 'o e ngaahi fehu'i spatial 'oku 'ikai fie ma'u ke sivisivi'i 'a e lahi taha 'o e fakamatala. 'I hono fokotu'utu'u 'o e feitu'u hierarchically, 'Oku ke liliu 'a e ngaahi fekumi brute-malohi ki he traversals fakataumu'a — liliu 'a e ngaahi sekoni ki he milliseconds pea 'ai ke malava 'a e fetu'utaki taimi mo'oni na'a mo e ngaahi datasets lahi.
Ko hono langa ha ʻAkau ʻe Fa mei he Kamataʻangá
Ko hono fakahoko 'o ha quadtree tefito 'oku faka'ohovale 'a e fakaofiofi ki ai, na'a mo e kau developers 'i he vaha'a. 'Oku fie ma'u 'e he tefito'i fokotu'utu'u ha ngaahi konga si'isi'i pe: ha ngata'anga ('a e feitu'u tapafā 'oku 'ufi'ufi 'e he node), ha malava (ngaahi poini lahi taha kimu'a pea toki vahevahe), ha ngaahi poini 'o e fokotu'utu'u, mo e ngaahi lave ki he node 'o e tamasi'i 'e fa ('uluaki null). 'E lava ke tohi 'a e ngaue fakahu kotoa 'i lalo 'i he laine 'e 30 'o e code 'i he lahi taha 'o e ngaahi lea.
'Oku fa'u 'e he ngaue vahevahe 'a e ngaahi node fo'ou 'e fa 'o e tamasi'i, 'oku takitaha 'ufi'ufi 'e he quadrant 'e taha 'o e ngata'anga 'o e matu'a. Ki ha mātuʻa ʻoku ʻi ai hono ngataʻanga (x, y, laulahi, māʻolunga), ʻoku maʻu ʻe he tamasiʻi tokelau hahaké ʻa e (x + laulahi/2, y, laulahi/2, māʻolunga/2), ʻoku maʻu ʻe he tokelau hihifó (x, y, laulahi/2, māʻolunga/2), mo e ngaahi meʻa pehē. Hili hono vahevahe, ʻoku toe tufaki ʻa e ngaahi poini ʻoku ʻi aí ki he fānau totonú. Ko e fehalaaki angamaheni ko e ngalo ke fakama'a 'a e ngaahi poini 'o e matu'a hili hono toe tufaki, 'a ia 'oku iku ki he ngaahi ola 'oku 'ikai ke tatau lolotonga 'a e ngaahi fehu'i.
Ki hono faka'aonga'i 'o e ngaohi'anga koloa, 'oku mahu'inga ha ngaahi optimizations. Ko hono fokotu'u 'o e malava 'o e node ki he ngaahi poini 'e 4-8 'oku angamaheni 'aki 'a e outperforms ha malava 'o e 1, koe'uhi he 'oku ne fakasi'isi'i 'a e loloto 'o e 'akau mo e 'olunga 'o e ngaahi me'a 'o e node. Ko hono tanaki atu 'o ha fakangatangata loloto lahi taha ('oku angamaheni 'aki 'a e ngaahi tu'unga 'e 8-12) 'oku ne ta'ofi 'a e ngaahi keisi pathological 'a ia 'oku vahevahe ai 'e he ngaahi poini lahi 'a e ngaahi fakafekau'aki tatau mei hono fa'u 'o e ngaahi 'akau loloto ta'efakangatangata. Pea ki he ngaahi datasets malohi 'a ia 'oku nga'unu ai 'a e ngaahi poini — hange ko e muimui'i 'o e me'alele — te ke fie ma'u ha founga to'o pe ko ha founga ke toe langa fakataimi 'a e 'akau, talu mei he quadtrees 'oku 'ikai ke self-balance 'o hange ko e 'akau kulokula-'uli'uli 'oku fai.
💡 DID YOU KNOW?
Mewayz replaces 8+ business tools in one platform
CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.
Start Free →Quadtrees 'i he ngaahi tu'unga pisinisi mo e ngaahi 'analaiso
'Oku fakautuutu 'a e ngaahi tu'unga pisinisi fakaonopooni 'oku nau fehangahangai mo e ngaahi fakamatala fakafeitu'u, tatau ai pe pe ko e ngaahi feitu'u 'o e kasitomaa, ngaahi sone tu'uaki, ngaahi vahefonua fakatau, pe ko e muimui'i 'o e koloa. Ko e pole 'oku 'ikai ko hono tanaki pe 'o e fakamatala ko 'eni — 'oku ne 'ai ia ke queryable 'i he taimi mo'oni 'i he fua. 'I he taimi 'oku fie ma'u ai 'e ha pisinisi 'oku ngaue 'i he ngaahi kolo 'e 50 ke fakakaukau'i 'a e tokolahi 'o e kasitomaa, kau faka'uli 'o e tu'uaki 'o e hala, pe 'analaiso 'a e fakahoko 'o e fakatau fakavahefonua, 'Oku fakapapau'i 'e he founga fakahokohoko 'o e indexing 'o e feitu'u 'oku 'i lalo pe 'oku uta 'a e dashboard 'i he 200 milliseconds pe 20 sekoni.
Ko e 'uhinga 'eni 'e taha 'oku ma'u 'aonga ai 'a e ngaahi tu'unga hange ko e Mewayz — 'a ia 'oku ne fakataha'i 'a e ngaahi module 'e 207 'oku ne 'ufi'ufi 'a e CRM, invoice, pule'i 'o e vakapuna, tohi, mo e analytics ki ha OS pisinisi 'e taha — 'aonga mei he tokanga'i lelei 'o e fakamatala fakafeitu'u 'i lalo 'i he hood. 'I he taimi 'oku fie ma'u ai 'e ha module pule'i 'o e vakapuna ke fakahaa'i 'a e ngaahi me'alele 'oku ngaue 'a e 500 'i ha mape, pe 'i he taimi 'oku fakakaukau'i ai 'e ha module CRM 'a e 138,000+ ngaahi feitu'u 'o e kau faka'aonga'i ki he palani 'o e vahefonua, 'Oku 'ikai ke scale 'a e ngaahi founga naive. Ko e ngaahi fokotu'utu'u 'o e fakahokohoko 'o e feitu'u hange ko e quadtrees (pe ko honau ngaahi me'a tatau 'o e database, hange ko e PostGIS R-'akau mo e ngaahi fakahokohoko 'o e feitu'u 'o e MySQL) 'oku ne 'ai ke malava ke 'oatu 'a e ngaahi me'a ko 'eni 'o 'ikai fie ma'u 'a e ngaahi naunau 'o e kalasi 'o e kautaha.
Ki he ngaahi pisinisi 'oku nau sivi'i 'a e ngaahi tu'unga, 'Oku 'aonga 'a e takeaway: ngaahi me'angaue 'oku nau tokanga'i lelei 'a e feitu'u mo e fakamatala fakafeitu'u 'oku 'ikai ke nau faka'aonga'i pe 'a e ngaahi algorithms faka'ofo'ofa koe'uhi ko ia. 'Oku nau fai 'a e faikehekehe 'i he vaha'a 'o ha sisitemi booking 'e lava ke ne fakahaa'i vave 'a e kau ngaue 'oku ma'u 'i loto 'i he kilomita 'e 10 mo e taha 'oku 'ave 'e he sekoni 'e 8 ke uta 'a e ngaahi ola tatau. Ko e fakahoko ngaue 'i he tu'unga ko 'eni 'oku liliu hangatonu ia ki he a'usia 'a e tokotaha ngaue pea, ko hono faka'osi, 'a e pa'anga hū mai.
Ngaahi 'Akau 'e fā vs. Ngaahi Fa'unga Fakamatala Fakafeitu'u Kehe
'Oku 'ikai ko e Quadtrees pe 'a e fili ki he fakahokohoko 'o e feitu'u, pea 'oku tokoni 'a e mahino ki he ngaahi founga kehe ke ke fili 'a e me'angaue totonu. R-'akau, 'oku faka'aonga'i lahi 'i he ngaahi fakamatala hange ko e PostGIS mo e SQLite 'a e R * 'Akau module, fokotu'utu'u 'a e fakamatala ki he ngaahi tapafā fakangatangata si'isi'i taha mo tokanga'i 'a e ngaahi fehu'i 'o e ngaahi 'atakai mo e ngaahi fekumi ofi taha-kaunga'api 'i he founga lelei. 'Oku nau faka'aonga'i fakalukufua 'a e quadtrees ki he tanaki'anga 'o e tisiki koe'uhi he 'oku nau fakasi'isi'i 'a e ngaahi ngaue 'o e I/O, ko e 'uhinga ia 'oku faka'aonga'i ai 'e he lahi taha 'o e ngaahi fakamatala fakafeitu'u 'a e ngaahi kehekehe 'o e R-'akau 'i loto kae 'ikai ko e quadtrees.
K-d trees vahevahe 'a e feitu'u 'o faka'aonga'i 'a e ngaahi vahevahe 'o e axis-aligned fetongi ('uluaki 'e he x, pea 'e he y, pea 'e he x 'o toe) pea 'oku lelei 'aupito ki he ngaahi fekumi ofi taha-kaunga'api 'i he ngaahi tafa'aki fakafuofua. 'Oku nau hehema ke mahulu hake 'i he quadtrees 'i he taimi 'oku ma'ulalo ai 'a e dimensionality pea 'oku tu'u ma'u 'a e dataset, ka 'oku nau faingata'a ange ke fakafo'ou 'a e dynamically. Geohashes 'oku nau to'o ha founga kehe 'aupito, 'o fakakouti 'a e latitude mo e longitude ki ha aho 'e taha 'a ia 'oku fakahaa'i ai 'e he ngaahi prefix vahevahe 'a e ofi fakafeitu'u — 'o 'ai ke nau lelei 'aupito ki he indexing 'o e database mo e caching ka 'oku si'isi'i ange 'a e fe'unu'aki ki he ngaahi fehu'i 'o e ngaahi 'atakai 'o e arbitrary.
Quadtrees 'oku nau pukepuke 'enau ngaahi me'a 'i he ngaahi tu'unga 'oku nau va'inga ki honau ngaahi malohinga: 'i he manatu spatial indexing, datasets malohi mo e toutou fakahu mo e tamate'i, ngaahi polokalama faka'ata 'a ia 'oku mape fakanatula ai 'a e fokotu'utu'u 'o e hierarchical grid ki he ngaahi tu'unga fakalahi, mo e ngaahi tu'unga 'oku mahu'inga ai 'a e faingofua 'o e fakahoko. Ki ha polokalama 'i mu'a 'oku ne 'omi 'a e ngaahi poini 'o e fakamatala 'e 10,000 'i ha kaniva mo e pan-mo e-zoom, 'e outperform 'e ha quadtree 'oku fakahoko 'i he ngaahi laine 'e 100 'o e JavaScript ha fa'ahinga fakalelei'anga 'oku poupou'i 'e he fakamatala 'aki pe hono fakangata 'o e latency 'o e netiueka.
Kamata: Ngaahi Sitepu Hokohoko ʻAonga
Kapau 'oku ke fie fakaloloto ho'o mahino ki he quadtrees 'i he tafa'aki 'o e lau fekau'aki mo kinautolu, ko e founga 'aonga taha ko hono langa ha taha 'i he sio. Fa'u ha polokalama kaniva faingofua 'a ia 'oku tanaki atu ai 'e he lomi'i 'a e ngaahi poini, pea siofi 'a e subdivide 'o e 'akau 'i he taimi mo'oni. Tānaki atu ha tapafā range-query te ke lava ʻo toho holo pea fakaʻilongaʻi ʻa e ngaahi poini ʻokú ne maʻú. Ko e fetu'utaki nima-ki-he-nima ko 'eni 'oku ne langa hake 'a e 'ilo'ilo pau 'oku 'ikai ha lahi 'o e lau 'e lava ke fakafehoanaki — te ke sio leva ki he 'uhinga 'oku fakatupu ai 'e he fakamatala fakatahataha'i 'a e ngaahi 'akau loloto ange mo e founga 'oku fakangata ai 'e he 'ulungaanga 'o e pruning lolotonga 'a e ngaahi fehu'i 'a e ngaahi swaths lahi 'o e feitu'u.
Ki he ngaahi polokalama ngaohi, fakakaukau ki he ngaahi fakahinohino ko 'eni: kapau 'oku nofo ho'o fakamatala 'i ha fakamatala, faka'aonga'i 'a e fakahokohoko 'o e feitu'u 'oku 'omi 'e ho'o fakamatala (PostGIS, MySQL Spatial, MongoDB 2dsphere fakahokohoko) kae 'ikai ko hono fakahoko 'o e quadtrees 'i he code 'o e polokalama. Kapau 'oku ke fai 'a e faka'ata 'o e tafa'aki 'o e kalaieni pe 'i he manatu 'o e ngaue, 'Oku 'oatu 'e he ngaahi laipeli hange ko e d3-quadtree ki he JavaScript pe pyquadtree ki he Python 'a e ngaahi fakahoko 'oku sivi'i 'i he tau. Pea kapau 'oku ke langa ha tu'unga 'oku ne tokanga'i ha fa'ahinga fakamatala 'o e feitu'u — mei he ngaahi tu'asila 'o e kasitomaa ki he tu'uaki 'o e hala ki he pule'i 'o e vahefonua — 'inivesi 'a e taimi ke mahino 'a e indexing 'o e feitu'u, koe'uhi he 'e fundamentally shape 'a e me'a 'e lava ke fai 'e ho'o tohi kole 'i he fua.
'Oku fakafofonga'i 'e he Quadtrees ha tefito'i mo'oni 'oku lahi ange 'i he saienisi fakakomipiuta: ko e fokotu'utu'u 'oku ke fili ki ho'o fakamatala 'oku ne fakapapau'i 'a e ngaahi fehu'i te ke lava 'o tali lelei. 'E lava ke tali 'e ha lisi 'o e ngaahi fakafekau'aki 'o e flat "'omai kiate au 'a e ngaahi poini kotoa pe," ka 'e lava ke tali 'e ha quadtree "'omai kiate au 'a e ngaahi poini kotoa pe 'oku ofi ki he 'i heni" — pea 'e lava ke ne fai ia 'o vave fe'unga ke ongo'i 'i he taimi pe ko ia. 'I ha mamani 'oku 73% 'o e fakamatala pisinisi 'oku 'i ai ha konga spatial 'o fakatatau ki he ngaahi fakafuofua 'o e industry, 'Oku 'ikai ko e malava ko ia 'a e ako pe. Ko e lelei fakafe'auhi ia.
Ngaahi Fehuʻi ʻoku Faʻa ʻEke
Ko e hā ʻa e ʻakau ʻe fā pea ʻoku anga fēfē ʻene ngāué?
Ko e quadtree ko ha fokotu'utu'u 'o e fakamatala 'oku makatu'unga 'i he 'akau 'oku ne vahevahe recursively ha feitu'u 'oku 'i ai hono tafa'aki 'e ua ki he quadrants tatau 'e fa. 'E lava ke ma'u 'e he node takitaha ha fakangatangata 'o e ngaahi poini 'o e fakamatala kimu'a pea toki vahevahe ki he nodes 'e fa 'o e tamasi'i. Ko e vahevahe fakahokohoko ko 'eni 'oku ne 'ai 'a e ngaahi fehu'i fakafeitu'u — hange ko hono kumi 'o e ngaahi poini kotoa pe 'i loto 'i ha feitu'u kuo 'oatu — 'oku fu'u vave, fakasi'isi'i 'a e taimi kumi mei he linear ki he logarithmic 'i he ngaahi tu'unga 'aonga lahi taha.
Ko fe 'oku angamaheni hono ngaue'aki 'a e ngaahi quadtrees 'i he ngaahi polokalama 'o e mamani mo'oni?
Quadtrees fakaivia 'a e ngaahi sisitemi kehekehe kau ai 'a e ngaahi mape fakakomipiuta mo e pinch-to-zoom 'a e ngaue, taimi mo'oni 'o e muimui'i 'o e vakapuna dashboards, ngaahi misini 'o e fepakipaki 'o e va'inga vitio, mo e ngaahi sisitemi fakamatala fakasiokalafi 'oku nau ngaue'aki 'a e ngaahi fehu'i fakafeitu'u 'e laui miliona 'i he sekoni. Ko ha fa'ahinga polokalama 'oku fie ma'u ke fekumi lelei, fakahu, pe pule'i 'a e ngaahi me'a 'oku tufaki 'i ha feitu'u 'oku 'i ai hono tafa'aki 'e ua 'e lava ke ma'u 'aonga mei he quadtree indexing.
'Oku anga fefe hono fakafehoanaki 'o e quadtrees ki he ngaahi fokotu'utu'u fakamatala fakafeitu'u kehe?
'Oku kehe mei he ngaahi grids 'o e flat, quadtrees 'oku nau fakafe'unga'i 'enau fakalelei'i ki he density 'o e fakamatala — 'oku nofo 'a e ngaahi feitu'u sparse 'o coarse lolotonga 'oku subdivide 'a e ngaahi vahefonua 'oku fonu. 'I hono fakafehoanaki ki he ngaahi 'akau k-d, 'oku faingofua ange ke fakahoko 'a e quadtrees pea 'oku fe'unga lelei ange ia ki he fakamatala 2D 'oku tufaki tatau. R-'akau 'oku nau tokanga'i 'a e ngaahi vahenga 'oku 'olunga 'i he kelesi ange, ka 'oku ikuna 'a e quadtrees 'i he vave 'o e fakahu pea 'oku faingofua ange ke fakafehoanaki ki he ngaahi kavenga ngaue taimi mo'oni.
'E lava ke tokoni 'a e quadtrees ke fakalelei'i 'a e fakahoko ngaue 'i he polokalama fakapisinisi?
ʻOku moʻoni ʻaupito. Ko ha me'angaue pisinisi 'oku ne tokanga'i 'a e fakamatala 'o e feitu'u, 'analaiso 'o e feitu'u, pe ngaahi dashboards fetu'utaki 'oku ma'u 'aonga mei he fakalelei'i 'o e quadtree. Ngaahi tu'unga hange ko e Mewayz, ko ha 207-module pisinisi OS kamata 'i he $19/mo, leverage 'a e ngaahi fokotu'utu'u 'o e fakamatala 'oku lelei 'i mui 'i he ngaahi me'a 'oku hoko ke 'oatu 'a e ngaahi a'usia vave, tali — mei he ngaahi mape 'o e falekoloa locator ki he taimi mo'oni 'o e ngaahi fakamatala 'i he poini 'e lauiafe.
Ko e hā ʻa e quadtree pea ʻoku anga fēfē ʻene ngāué?" quadtree ko ha fokotu'utu'u 'o e fakamatala 'oku makatu'unga 'i he 'akau 'oku ne vahevahe recursively ha feitu'u 'e ua-dimensional ki he quadrants tatau 'e fa 'e lava ke ma'u 'e he node takitaha ha fika fakangatangata 'o e ngaahi poini 'o e fakamatala kimu'a pea toki vahevahe ki he ngaahi node 'o e tamasi'i 'e fa 'oku ne ngaohi 'a e ngaahi fehu'i fakafeitu'u \u2014 'i he feitu'u kotoa pe. fakasi'isi'i 'a e taimi fekumi mei he linear ki he logarithmic 'i he scen 'aonga lahi taha functionality, dashboards muimui'i 'o e vakapuna taimi mo'oni, ngaahi misini 'o e fepakipaki 'o e va'inga vitio, mo e ngaahi sisitemi fakamatala fakasiokalafi 'oku nau ngaue'aki 'a e ngaahi fehu'i fakafeitu'u 'e laui miliona 'i he sekoni. quadtrees fakafehoanaki ki he ngaahi fokotu'utu'u kehe 'o e fakamatala fakafeitu'u?","taliTali":{"@fa'ahinga":"Tali":{"@fa'ahinga":"Tali","tohi":"'Oku kehe mei he ngaahi grids 'o e palapala, quadtrees 'oku nau fakafe'unga'i 'enau fakalelei'i ki he density 'o e fakamatala \u2014 ngaahi feitu'u sparse nofo coarse lolotonga 'oku subdivide 'a e ngaahi vahefonua 'oku fonu 'i he ktrees ke fakahoko 'a e Comp-tred 'o toe lahi ange. fe'unga mo e tufaki'anga tatau 'o e fakamatala 2D. R-'akau 'oku nau tokanga'i 'a e ngaahi vahefonua 'oku nau 'olunga 'i he kelesi ange, ka 'oku ikuna 'a e quadtrees 'i he vave 'o e fakahu pea 'oku faingofua ange ke fakafehoanaki ki he ngaahi kavenga ngaue taimi mo'oni."}},{"@type":"Fehu'i","hingoa":"'E lava ke tokoni 'a e quadtrees ke fakalelei'i 'a e fakahoko 'o e ngaue 'i he polokalama fakakomipiuta?","talitali":{"@fa'ahinga":"Tali","tohi":"'Oku mo'oni. Ko ha me'angaue pisinisi 'oku ne tokanga'i 'a e fakamatala 'o e feitu'u, 'analaiso 'o e feitu'u, pe ngaahi dashboards fetu'utaki 'oku ne ma'u 'a e ngaahi lelei mei he ngaahi tu'unga 'o e quadtree hange ko e Mewayz 'a e ngaahi fokotu'utu'u 'o e pisinisi le \ 'avalisi 'o e OS, 'oku kamata 'i he 207-module 'a e fakamatala $ \ 'avalisi 'o e OS. 'oatu 'a e ngaahi a'usia vave, tali \u2014 mei he ngaahi mape 'o e falekoloa locator ki he ngaahi 'analaiso taimi mo'oni 'i he ngaahi poini fakamatala 'e lauiafe."}}]}Try Mewayz Free
All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.
Get more articles like this
Weekly business tips and product updates. Free forever.
You're subscribed!
Start managing your business smarter today
Join 30,000+ businesses. Free forever plan · No credit card required.
Ready to put this into practice?
Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.
Start Free Trial →Related articles
Hacker News
MegaTrain: Full Precision Training of 100B+ Parameter LLMs on a Single GPU
Apr 8, 2026
Hacker News
Struggle Against the Gods
Apr 8, 2026
Hacker News
I've sold out
Apr 8, 2026
Hacker News
Mario and Earendil
Apr 8, 2026
Hacker News
Git commands I run before reading any code
Apr 8, 2026
Hacker News
Veracrypt project update
Apr 8, 2026
Ready to take action?
Start your free Mewayz trial today
All-in-one business platform. No credit card required.
Start Free →14-day free trial · No credit card · Cancel anytime