第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在 Python 中堆疊和計(jì)算矩形

在 Python 中堆疊和計(jì)算矩形

紫衣仙女 2022-05-11 15:20:36
我有超過(guò)一百萬(wàn)個(gè)重疊的 2D 矩形(未旋轉(zhuǎn)),我想將它們堆疊在一起并計(jì)數(shù)以形成熱圖/密度圖/2D 直方圖,顯示哪些區(qū)域有更多的矩形,哪些區(qū)域有更少的矩形。理想情況下,我想在 Python 中執(zhí)行此操作。從概念上講,這是一個(gè)非常簡(jiǎn)單的問(wèn)題,但我不確定如何有效地進(jìn)行堆疊計(jì)算。優(yōu)化可能性坐標(biāo)存儲(chǔ)在數(shù)據(jù)庫(kù)中。因此,我可以簡(jiǎn)單地GROUP BY將坐標(biāo)降低到 ~300,000^ 個(gè)矩形,每個(gè)矩形都有一個(gè)值,表示它代表多少個(gè)矩形。然后問(wèn)題稍微改變?yōu)槎询B矩形并將它們的值求和(不計(jì)算)之一。(^我可能會(huì)得到這個(gè)數(shù)字低很多,但這超出了這個(gè)問(wèn)題的范圍)數(shù)據(jù)矩形,定義為簡(jiǎn)單的左下角右上角坐標(biāo)對(duì)。[[0, 0], [300, 400]][[10, 30], [50, 35]][[243, 12], [244, 13]]...選項(xiàng)我考慮了幾個(gè)選項(xiàng),但似乎沒(méi)有一個(gè)好,因?yàn)樗麄兪褂?GIS 工具來(lái)解決不必要的 GIS 問(wèn)題:勻稱的圖書館- 它并不是真的為此而設(shè)計(jì)的,因?yàn)槲抑皇窃诙询B/計(jì)算東西。通過(guò)gdalcalc的GDAL - 特別是對(duì)值求和,但這會(huì)引入大量額外的工作來(lái)首先創(chuàng)建/管理數(shù)十萬(wàn)個(gè)柵格(甚至是虛擬柵格)。Numpy / Pandas或類似的東西?我以前從未使用過(guò)這些庫(kù),但是在谷歌上搜索這個(gè)問(wèn)題時(shí),它們出現(xiàn)了很多,盡管從來(lái)沒(méi)有以一種看起來(lái)適用的方式出現(xiàn)。將矩形轉(zhuǎn)換為 1D 點(diǎn)的網(wǎng)格,然后簡(jiǎn)單地將它們輸入2dhist. 非常低效。那么,將大量重疊矩形轉(zhuǎn)換為密度圖的有效方法是什么?
查看完整描述

1 回答

?
慕俠2389804

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊

我已經(jīng)用 numpy 做到了這一點(diǎn)。是的,它很丑,但它確實(shí)有效。


import numpy as np

import matplotlib.pyplot as plt


data = [[[0, 0], [300, 400]],

        [[10, 30], [50, 35]],

        [[143, 12], [244, 113]]]    # I modified this for better visualization

values = [1, 3, 4]    # if your rectangles have values


data_range = [1000, 1000]    # assumed max data range is (0, 999)

areas = np.zeros(data_range)    # initialize empty area

for i, points in enumerate(data):

    areas[points[0][1]:points[1][1]+1, points[0][0]:points[1][0]+1] += values[i]    # I agree that it's too ugly

    # I use `+1` to take these points too

    # change `values[i]` to `1` if it just needs counting


# visualize result

plt.imshow(areas)

plt.colorbar()

plt.show()

結(jié)果:

http://img1.sycdn.imooc.com//627b63e1000135f209740813.jpg

查看完整回答
反對(duì) 回復(fù) 2022-05-11
  • 1 回答
  • 0 關(guān)注
  • 220 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)