JMP 11實驗設計中我最喜歡的新功能之一是空間填充設計平台中的快速柔性填充(FFF)設計。當。。。的時候 JMP 11預覽布拉德瓊斯表示,已被釋放使用FFF設計的一個例子將空氣質量監測器放在北卡羅來納州。這篇博文將演示如何使用佐治亞州為地圖創建FFF設計。
要為地圖形狀創建FFF設計,您需要一個XY文件,其中包含地圖邊界的緯度和經度(請參閱創建地圖來自基本圖形書在幫助菜單或在線文檔更多細節)。
獲取地圖形狀坐標
我假設您沒有格魯吉亞的XY文件供您使用。進入Maps目錄(您可以在Windows上找到它:C:/ Program Files / SAS / JMP / 11 / Maps或Macintosh:/ Library / Application Support / JMP / 11 / Maps)並打開US-State-XY。jmp和US-State-Name.jmp。從狀態名稱文件中註意到Shape ID 11對應於Georgia。使用US-State-XY.jmp創建一個新數據表,其中X和Y列表示與Georgia對應的行。您可以使用簡單的腳本獲取Space Filling Design Platform可用的表格中的坐標:
dt = current data table();
mymap = dt << get as matrix({X,Y});
xx = mymap [0,1];
yy = mymap [0,2];
show(min(xx),max(xx));
show(min(yy),max(yy));
節目(XX,YY);
show(xx,yy)的日誌中的結果是您需要的部分,緯度和經度的最小值和最大值將在下一步中有用。
使用不允許的組合設置FFF設計
我們現在準備打開空間填充設計平台。請注意,我重命名了X1和X2的經度和緯度。根據地圖形狀的最小值和最大值,我選擇經度從-86到-80,緯度從30到36不等。確保您的範圍定義了一個包含地圖的框,您通常應該沒問題。您需要確保不要定義太大的範圍,以使地圖形狀僅佔其中的一小部分。我的因子表如下圖所示。
您現在必須聲明點應僅出現在地圖形狀中。地圖形狀是由上面步驟中的坐標定義的多邊形,因此JSL函數“In Polygon”可以通過不允許的組合指定需要在地圖形狀內發生的點。在Space Filling Design的紅色三角形菜單下,選擇Disallowed Combinations。

JMP現在提供了一個編輯框,您可以在其中粘貼一個表達式來排除不可行的輸入變量組合。此表達式應返回不可行值的非零值。“禁用的組合”對話框與“自定義設計器”中使用的對話框相同。一種方法是創建一個布爾表達式,其值為true或false。例如,如果因子X1和X2的範圍從-1到1並且希望點出現在單位圓內,則應指定不允許的組合為X1 ^ 2 + X2 ^ 2> 1。也就是說,禁止任何落在單位圓圈之外的點。對於此示例,我們需要一個表達式來計算點是否落在地圖形狀之外。

你需要地圖形狀的矢量,你可以從上面的show(xx,yy)和!在Polygon中獲得 ( 經度,緯度,XX,YY ) 。請注意“!在多邊形”前面的“!”,因為您要禁止在地圖形狀之外的任何點。在這種情況下,複製到窗口中的不允許組合的腳本如下所示:
xx = [-83.108535, -83.3386899940506, -83.034712, -82.876864, -82.556835, -82.32448, -82.186154, -81.926336, -81.939737, -81.743835, -81.492253, -81.41866, -81.186829, -81.117234, -80.885517, -80.862814, -81.203572, -81.133493, -81.260076, -81.177254, -81.2884027924215, -81.493651, -81.444124, -81.949787, -82.043795, -82.036825, -82.165192, -82.214839, -84.864693, -85.002368, -85.107516, -85.041305, -85.140731, -85.061144, -84.890894303099, -85.007103, -84.96303, -85.1844, -85.605165, -84.321869];
yy = [35.000771,34.6820015115479,34.483495,34.475303,33.945353,33.820033,33.62088,33.462937,33.344941,33.14145,33.009342,32.629392,32.464086,32.117605,32.0346,31.969346,31.119448,31.623348,31.54828,31.517074,31.211065104271,30.977528,30.709714,30.827493 ,30.729641,30.377884,30.358035,30.568591,30.711542,31.000682,31.186451,31.540987,31.857461,32.134065,32.2615038439169,32.328362,32.424244,32.861317,34.984678,34.988408];
!在多邊形(經度,緯度,xx,yy)
單擊確定並繼續,我們已準備好創建設計。您會注意到,由於存在不允許的組合,因此快速靈活填充是唯一可用的選擇。
創建設計
將運行次數更改為100以更好地顯示結果,然後單擊“快速靈活填充”按鈕以創建設計。

將顯示設計,Make Table按鈕將創建包含設計的數據表。您現在可以通過Graph Builder查看設計。使用Background Map選項,您應該得到類似於下圖的內容。

重新創建它的JSL是:
圖形生成器(
顯示控制面板(0),
變量(X(:經度),Y(:緯度)),
元素(點(X,Y,圖例(1),抖動(1))),
SendToReport(
調度(
{},
“經度”,
ScaleBox,
{Scale(“Geodesic US”),格式(“Latitude DDD”,12,0),
Min(-86.66255),Max(-79.83745),Inc(1),
小蜱(0)}
)
調度(
{},
“緯度”,
ScaleBox,
{Scale(“Geodesic US”),格式(“經度DDD”,12,0),
Min(29.9),Max(35.6),Inc(1),
小蜱(0)}
)
調度(
{},
“圖形生成器”,
FrameBox,
{背景圖(邊界(“美國國家”)),網格線順序(2),
參考線順序(3)}
)
)
);
最後的想法
如果您正在處理單獨部分中的地圖(例如具有多個部件ID編號的狀態),我建議單獨為每個部件創建FFF設計。在地圖上,FFF設計不同於在地圖形狀上採用簡單隨機的點樣本。FFF設計旨在使設計點更均勻地擴展,從而在地圖上實現更好的覆蓋。