網(wǎng)格生成

Step1:統(tǒng)計(jì)

輸入:時(shí)間范圍,空間范圍

輸出:(geohash,時(shí)間序列), count,row,col(以0為開頭)

Step2:生成完整時(shí)間序列的網(wǎng)格

輸入:時(shí)間范圍,空間范圍

輸出:生成完整時(shí)間序列的網(wǎng)格


Step1

1.時(shí)間范圍和空間范圍的定義

{

? ? "time_extend": {

? ? ? ? "end_time": "2012123123",

? ? ? ? "timestep": "1",

? ? ? ? "start_time": "2012010100"

? ? },

? ? "space_extend": {

? ? ? ? "east": 121.382326,

? ? ? ? "west": 119.914598,

? ? ? ? "north": 32.036541,

? ? ? ? "south": 30.760336

? ? }

}

2.獲得數(shù)據(jù)

已知數(shù)據(jù)庫(kù)中的時(shí)間


已知 數(shù)據(jù)庫(kù)中的地址


a. 篩選時(shí)間 ——數(shù)據(jù)

b.數(shù)據(jù)點(diǎn)落在 空間范圍內(nèi)

ST_MakeEnvelope—從最小和最大坐標(biāo)創(chuàng)建一個(gè)矩形Polygon。

ST_Covers—如果幾何B中的任何點(diǎn)都不在幾何A之外,則返回1(TRUE)

select glib.f_quadtree2rowcol('trstrt'); 獲得結(jié)果{行號(hào),列號(hào)}




select crimestat.datacluster('{

? ? ? ? "end_time": 2012123123,

? ? ? ? "timestep": "1",

? ? ? ? "start_time": 2012010100

? ? }'::json, '{

? ? ? ? "east": 121.382326,

? ? ? ? "west": 119.914598,

? ? ? ? "north": 32.036541,

? ? ? ? "south": 30.760336

? ? }'::json,14);

查詢

trstrtrqrsrqqr



Step2:生成完整時(shí)間序列的網(wǎng)格

1. 空白生成

行:0~x

列:0~y

時(shí)間:范圍中的每小時(shí)

排列組合——

2. 新表若相等***


集合返回函數(shù)_?generate_series

交叉連接

交叉連接(CROSS JOIN)把第一個(gè)表的每一行與第二個(gè)表的每一行進(jìn)行匹配。如果兩個(gè)輸入表分別有 x 和 y 行,則結(jié)果表有 x*y 行。

由于交叉連接(CROSS JOIN)有可能產(chǎn)生非常大的表,使用時(shí)必須謹(jǐn)慎,只在適當(dāng)?shù)臅r(shí)候使用它們。

外部連接

SQL 標(biāo)準(zhǔn)定義了三種類型的外部連接: LEFT、RIGHT 和 FULL, PostgreSQL 支持所有這些。對(duì)于左外連接,首先執(zhí)行一個(gè)內(nèi)連接。然后,對(duì)于表 T1 中不滿足表 T2 中連接條件的每一行,其中 T2 的列中有 null 值也會(huì)添加一個(gè)連接行。因此,連接的表在 T1 中每一行至少有一行

COALESCE(d.counts, 0)——對(duì)null數(shù)據(jù)填0

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容