大家好,
我需要一些想法和幫助。我希望處理一些隨地理位置和時間變化的數據。我有這些位置的經緯度,以及幾個時間段的每小時測量值。如何在 JMP 中設定行和列,以便繪製隨時間變化的屬性圖表(地圖),並調查或讓 JMP 突出顯示屬性在特定時間段內超過特定閾值的位置等等?
謝謝你的幫助
可以在JMP示例數據目錄中找到一個可能有用且信息豐富的模板。 這是一個基於Graph Builder的拿破崙三月的可視化效果。 我認為數據表稱為NapoleansMarch.jmp或類似名稱。 它顯示了背景地理地圖,並顯示了變量(拿破崙各支部隊的規模)在該地理空間的大小上如何變化。 可能會接近您所追求的嗎?
這是生成腳本的腳本的HTML輸出的鏈接...看一看,看是否像您想要的那樣?拿破崙三月HTML輸出
感謝您的指導。我還看了拿破崙三月份的JMP表。拿破崙三月的可視化效果與我嘗試創建的效果相似。
但是我的問題是我只有大約40個位置(40個經度和緯度),但是我有超過50,000個測量值(記錄超過5年的每小時)。
因此,我將Time_stamp設置為第一列,並將與每個位置關聯的度量設置為其他列。我現在不確定如何將緯度和經度與每次測量相關聯。
拿破崙的March JMP表具有“緯度”和“經度”作為列,但是在這種情況下,我認為這不是“實用的”。
請提供進一步的幫助。
50,000 * 40 行很大,但對 JMP 來說並不算太大。您的表將在 100-300 MB 範圍內,具體取決於資料列的數量。正如吉姆所建議的,使用虛擬連接可能會刪除兩列(如果您需要其他常量站數據,可能會刪除更多列),但代價是添加 ID 列,但我不認為這是您需要獲得的優化開始了。
什麼樣的觀眾會看這個?他們喜歡影片、帶有控制的即時圖表還是靜態圖像?
正如@Craige_Hales所提到的,行數沒有問題,JMP 的表工作效率很高。
首先,資料結構越簡單越好。
此外,在JMP 中重塑資料非常容易,例如將其分配到更多表、分割或堆疊。
您的資料現在在哪裡?如果是兩個 csv 文件,也很容易在 JMP 中開啟這兩個文件,
它們正在成為 JMP 資料表,然後使用查詢建構器來連接它們。
如果資料定期更新,您甚至可以使用查詢產生器直接從 csv 檔案匯入新資料。
再次你好,
我已經相對清理了我的數據,並在 JMP 中將其作為 2 個單獨的表。一個包含站點 ID、緯度和經度,另一個包含 5 年內每個站點每小時測量的特定屬性。使用查詢產生器的預覽聯結不正確,因此我需要一些更具體的指導來了解如何使用一個表中的地理資料和另一個表中的基於時間的屬性來建立視覺化效果。
順便說一句,我正在從公共來源提取更多此類財產文件,因為我們有興趣研究全省大約 10 個此類財產。
另外,為了回答您的問題,此時的視覺化是我們資料探索和特徵研究過程的一部分。我們認為觀眾最終會對動畫氣泡圖非常感興趣,這些氣泡圖顯示了他們自己所在地附近(例如在一定半徑內)正在發生的事情。目前,我們只是研究數據,看看可能有哪些有意義的模式。
try(close(dtLatLon,nosave));
try(close(dtTempTime,nosave));
dtLatLon = New Table( "LatLon",
New Column( "city", Character, "Nominal", Set Values( {"New York", "London"} ) ),
New Column( "lat", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [40.73061, 51.509865] ) ),
New Column( "lon", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [-73.935242, -0.118092] ) )
);
dtLatLon << save( "$temp/LatLon_deleteme.jmp" ); // disk file name is required for virtual join
dtLatLon:city << Set Property( "Link ID", 1 );
dtTempTime = New Table( "TempTime",
New Column( "city", Character, "Nominal",
Set Values( {"New York", "London", "New York", "London", "New York", "London", "New York", "London", "New York", "London"} )
),
New Column( "temp", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [18, 30, 18, 12, 24, 17, 15, 30, 29, 19] ) ),
New Column( "time", Numeric, "Continuous", Format( "yyyy-mm-ddThh:mm", 16 ), Input Format( "yyyy-mm-ddThh:mm" ),
Set Values( [3660682600, 3660683600, 3660684600, 3660685600, 3660686600, 3660687600, 3660688600, 3660689600, 3660690600, 3660691600] )
)
);
dtTempTime << save( "$temp/TempTime_deleteme.jmp" ); // disk file name is required
dtTempTime:city << Set Property( "Link Reference", Reference Table( dtLatLon ) );
dtTempTime << Bubble Plot(
X( Referenced Column( "lon[city]", Reference( Column( :city ), Reference( Column( :lon ) ) ) ) ),
Y( Referenced Column( "lat[city]", Reference( Column( :city ), Reference( Column( :lat ) ) ) ) ),
Sizes( :temp ),
Time( :time ),
ID( :city ),
Time Index( 4.0938 ),
Title Position( -59.21926910299, 46.12 ),
SendToReport(
Dispatch( {}, "1", ScaleBox, {Format( "Best", 12 ), Min( -80 ), Max( 10 ), Inc( 10 ), Minor Ticks( 0 )} ),
Dispatch(
{},
"2",
ScaleBox,
{Scale( "Geodesic" ), Format( "Best", 12 ), Min( 19.0897009966777 ), Max( 72.9102990033223 ), Inc( 2 ), Minor Ticks( 1 )}
),
Dispatch(
{},
"Bubble Plot",
FrameBox,
{Frame Size( 602, 360 ), Background Map( Boundaries( "World" ) ), Grid Line Order( 2 ), Reference Line Order( 3 )}
)
)
);由於您的資料已經存在,因此您的資料看起來會更簡單。您可能有一個數字 ID 而不是城市名稱來將表格連結在一起。
Bubble PlotBubble Plot氣泡圖