可以使用快速灵活填充 (FFF) 设计来设计要为跨地图形状之类的区域执行的实验。例如,若您有两种样本收集方法(可能用于空气或土壤样本),希望在美国某州分布的各个位置进行比较,则考虑 FFF 设计。
假定相关的美国州是佐治亚州。您需要 40 个样本,每种抽样方法 20 个样本,遍布全州。若要为地图形状创建 FFF 设计,您需要一个具有地图边界纬度和经度的文件(请参见《基本绘图》背景地图)。
在下例中,您将确定美国佐治亚州的经度和纬度,定义该州的形状,然后创建设计。该设计将为 40 个样本中的每一个样本提供位置和抽样方法。
1. 导航到 Maps 目录,通常会在此找到:
Windows: C:/Program Files/SAS/JMP/<版本>/Maps
macOS:/Library/Application Support/JMP/<版本>/Maps
2. 打开 US-State-XY.jmp 和 US-State-Name.jmp。
请注意,在 US-State-Name.jmp 中,Shape ID 11 与美国佐治亚州对应。在本例中,这就是相关州。
3. 在 US-State-XY.jmp 中,选择行 > 行选择 > 选择符合条件的行。
4. 选择形状 ID 并在文本框中输入 11,然后点击确定。
这将选定形状 ID 为 11(代表佐治亚州)的所有行。
5. 选择表 > 子集并点击确定以获取 US-State-XY.jmp 表中包含佐治亚州纬度和经度数据的子集(选定行)。
6. 关闭 US-State-XY.jmp 和 US-State-Name.jmp。
要定义空间填充设计的空间,需要知道佐治亚州纬度和经度的值范围。然后,您可以使用这些值创建设计因子。
1. 选择文件 > 新建 > 脚本。在脚本窗口中,右击并选择显示嵌入的日志。
2. 复制以下内容并将其粘贴到新脚本中:
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));
show(xx,yy);
3. 在 US-State-XY.jmp 表的子集处于活动状态时,运行该脚本。
佐治亚州纬度和经度的值范围以及 xx 和 yy 矩阵显示在日志中。
图 21.25 “范围查找”脚本和日志中的结果
1. 选择实验设计 > 特殊目的 > 空间填充设计。
2. 向设计中添加两个连续因子。在添加因子数文本框中输入 2,然后点击连续型。
3. 重命名因子经度和纬度并在“因子”分级显示项中输入其最小值和最大值。
‒ 对于经度,输入 -85.6 和 -80.9 作为经度值。这些是日志中 x 的最小和最大经度值。
‒ 对于纬度,输入 30.4 和 35.0 作为纬度值。这些是日志中 y 的最小和最大纬度值。
4. 添加一个分类因子。点击分类 > 2 水平。重命名因子方法。
图 21.26 因子
5. 点击继续。
要进一步定义空间填充设计的空间,需要使用多边形定义州的形状。
1. 选择使用不被允许的组合脚本打开“不被允许的组合表达式”文本框。
经度和纬度范围定义一个正方形。佐治亚州是一个多边形,而不是正方形。您想排除落在佐治亚州多边形之外的点。
2. 转至脚本窗口并从脚本日志中复制 xx 和 yy 矩阵。将其粘贴到“不被允许的组合表达式”文本框。
3. 最后,添加以下行:
!In Polygon(longitude, latitude , xx, yy);
这将排除 xx 和 yy 坐标所定义的多边形中未包含的点。
图 21.27 不被允许的组合表达式
1. 将试验次数改为 40 并点击快速灵活填充。
2. 点击制表。
3. 从您的设计表中,选择图形 > 图形生成器。
4. 将以下列拖入以下区域:
‒ 将 longitude 拖入 X 区域
‒ 将 latitude 拖入 Y 区域
‒ 将 Method 拖入颜色区域
5. 在图形之上,点击“平滑线”元素图标将其关闭。
6. 要添加州形状,右击该图形并选择图形 > 背景地图。
7. 在边界下,选择美国各州并点击确定。
图 21.28 美国佐治亚州的 FFF 设计示例
注意:由于 FFF 算法的起点随机性的原因,地图上点的准确位置可能与所示位置不同。
地图上标识出您应该收集样本的 40 个地点。抽样方法(L1 或 L2)由点的颜色指示。
“图形”>“背景地图”窗口包含以下附加选项:
• 要确定用于测试的郡县,请在边界下选择美国各郡。
• 要在街道一级绘制测试位置,请在图像下方选择街道图服务。