用于处理地形数据的topotools模块 ¶
从模块docstring自动生成的文档 ¶
课程 : 地形
功能 : 确定地形类型 创建拓扑函数 地形1写入器 topo2编写器 拓扑3编写器 抽汲器
TODO公司 : 添加子采样和超级采样功能 添加基于地形功能创建地形的功能,合并 将create_topo_func添加到Topography类中,可能允许更广泛的 类的初始化能力来处理这个问题? 修复 聚丙烯(_P) 功能 添加删除/填充无数据值 添加更强大的绘图功能
-
班 clawpack.geoclaw.topotools。 地形 ( 路径 = 无 , 地形_类型 = 无 , 地形_功能 = 无 , 非结构化的 = False(错误) , ** 关键字参数 ) ¶ 基础地形等级。 表示单个地形文件的类。 属性 :
注意:已修改以检查 网格_注册 阅读或写作时 topo文件并正确处理 ll转角 注册,在这种情况下 x,y数据应从左下角偏移dx/2,dy/2 在DEM文件的头中指定。 初始化 : 示例 : >>> 进口 clawpack.geoclaw.topotools软件 作为 地形 >>> 拓扑文件(_F) = 地形 . 地形 () >>> 拓扑文件(_F) . 阅读 ( './ 地形tt3’ , 地形_类型 = 三 ) >>> 拓扑文件(_F) . 情节 ()
-
财产 X(X) ¶ x方向的二维坐标阵列。
-
财产 Y(Y) ¶ y方向的二维坐标阵列。
-
财产 Z ¶ 将数据表示为二维数组。
-
作物 ( 过滤器区域 = 无 , 使变粗 = 1 ) ¶ 裁剪区域到 过滤器区域 创建与此对象相同但已裁剪的新地形对象 到filter_region指定的区域 TODO公司 : 目前,这不适用于非结构化数据,原则上可以 这可能是in_poly的特殊情况,尽管该例程可以 有效地使生成的地形保持非结构化。
-
财产 三角洲 ¶ 数据点的间距。
-
财产 程度 ¶ 地形范围。
-
生成2d坐标 ( 面具 = False(错误) ) ¶ 生成二维坐标阵列。
-
生成2d_topo ( 面具 = False(错误) ) ¶ 生成地形的二维数组。
-
聚丙烯(_P) ( 多边形 ) ¶ 遮罩不在指定多边形中的点(x,y)。 使用简单的光线投射算法提高速度,因此要小心拐角情况! 输入 : 多边形 (list)组成多边形的点的列表。 请注意 如果这样做有效(积极与消极 绕组顺序)。 点应逆时针排列。
退换商品 : X任务(_M) (numpy.ma.MaskedArray)X坐标的屏蔽数组,其中 多边形外部的点已被遮罩。 Y(Y) (numpy.narray)网格类型中y方向的坐标 配置。
-
非结构化交互 ( 填充_topo , 程度 = 无 , 方法 = “最近的” , 三角洲 = 无 , 增量限制(_L) = 20 , 无数据值 = -99999 , 缓冲区长度 = 100 , 近似_半径 = 100 , 分辨率极限 = 2000 ) ¶ 将非结构化数据插值到常规网格上。 函数将拓扑对象中的非结构化数据插值到 结构化网格。使用边界框和大小为的缓冲区 缓冲区长度 (米)包含所有数据,除非 范围不是“无” 是 真的 然后使用填充地形 填充(_PO) 填写 非结构化数据中的缺口。 默认情况下,这是通过屏蔽 使用范围、值填充数据 无数据值 如果 近似_半径 (米)不是0,半径为 近似_半径 从对象中的所有网格点。 存储 导致 自我。 X(X) , 自我。 Y(Y) 和 自我。 Z 对象属性。 这个 最终网格的分辨率通过计算最小值确定 所有之间的距离 x个 和 年 硬下限为的数据 增量限制(_L) (米)。 注意,函数 科学.互联网.gridata 不尊重 屏蔽对的呼叫 numpy.ma.MaskedArray.compressed() 必须做到 删除屏蔽的数据。 输入 : 填充_topo (list)-用作填充数据的地形对象列表 在投影中。 程度 (元组)-定义子节矩形的元组。 必须采用以下形式(x下,x上,y下,y上)。 方法 (string)-用于插值的方法,有效方法为 在中找到 科学.互联网.gridata 。默认值为 最近的 . 三角洲 (tuple)-直接设置插值的网格间距 而不是从数据本身来确定。 默认为 无 这会导致方法本身确定该值。 应该是浮点数的2元组(delta_x,delta_y)。 增量限制(_L) (浮点)-最佳水平分辨率的极限, 默认值为20米。 无数据值 (float)—未找到要填充的数据时使用的值 缺少值,如果 方法=“最近” 。默认值为 -99999 . 缓冲区长度 (浮动)-边界框周围的缓冲区,仅适用 什么时候 程度 “无”。 默认值为 100 米。 近似_半径 (float)—每个非结构化数据点的半径 用于用屏蔽填充数据。 默认值为 100 米。 分辨率极限 (int)-限制 单一维度。 引发 值错误 如果违反了限制。 默认值为 2000 .
设置此对象的 非结构化的 属性到 False(错误) 如果成功。
-
make_shoreline_xy品牌 ( 海平面 = 0 ) ¶ 返回数组 海岸线_xy 包含2列包含x和y值 海岸线的所有分段(定义为等高线 其中self.z=海平面)由[nan,nan]对分隔。 这允许通过以下方式快速绘制所有海岸线: >>> 情节 ( 海岸线_xy [:, 0 ], 海岸线_xy [:, 1 ]) 海岸线可以保存为二进制 .npy文件 文件通过: >>> 努皮 . 节约 ( 文件名 , 海岸线_xy ) 它比原始地形文件小得多。 通过以下方式重新加载: >>> 海岸线_xy = 努皮 . 负载 ( 文件名 )
-
情节 ( 轴 = 无 , 轮廓_水平 = 无 , 轮廓_kwargs = {} , 限制 = 无 , cmap公司 = 无 , 添加颜色栏 = 真的 , 绘图框 = False(错误) , 长_长 = 真的 , 图_kwargs = {} , 数据中断 = 0 , cb_夸格斯 = {} ) ¶ 绘制地形。 输入 : 轴 (matplotlib.pyplot.axis)-如果传入,则plot将为 添加到此轴。 否则将创建新的绘图图形 (使用 图_kwargs )和一个新的 轴 对象已创建并返回。 轮廓_水平 (列表)-等高线的标高,如果是 要添加(默认值 无 ). 设置为[0.]以绘制海岸线。 轮廓_kwargs 要传递给的(dict)-关键字参数 轮廓命令,例如{'colors':'r','linestyles':'-'}。 默认值为空字典。 限制 (list)-彩色地图的拓扑值的(最小值,最大值)。 默认为None,在这种情况下(self.Z.min(),self。 Z.max())。 cmap公司 (matplotlib.colors.Colormap)-颜色映射,默认为 专业地图,蓝色用于测深,绿色/棕色用于地形。 图_kwargs (dict)-要传递给图形的关键字参数。 绘图框 (布尔或颜色说明符)-如果计算结果为True,则打印 围绕此地形界限的框。 长_长 (布尔)-如果这是一个经纬度图,则设置 用于补偿拉伸的绘图方面。 如果不是,那么 方面设置为“相等”。 数据中断 (float)-当使用默认cmap时,要使用的值 打破水陆色彩图之间的界限。 默认为0.,但对于某些拓扑文件,可能需要使用例如0.01 或者可能希望显示不同潮汐阶段的绘图。 cb_夸格斯 (dict)-要传递到颜色栏的关键字参数 例如“收缩”、“延伸”、“标签”。 还可以为cbar设置“title”
输出 : 轴 (matplotlib.pyplot.axis)-创建绘图的轴。
请注意: 如果 类型(self.Z) 是 numpy.ma.MaskedArray数 然后 伪彩图 使用, 如果 类型(self.Z) 是 数字标准 然后 显示图像 使用。 (这对于大文件来说更快)
-
阅读 ( 路径 = 无 , 地形_类型 = 无 , 非结构化的 = False(错误) , 面具 = False(错误) , 过滤器区域 = 无 , 力 = False(错误) , 步幅 = [1, 1] , 网络控制图 = {} ) ¶ 从对象的 路径 属性。 将结果数据存储在 x个 , 年 、和 z(z) 或 X(X) , Y(Y) 、和 Z . 输入 : 路径 要读取的(str)文件 地形_类型 (int)-GeoClaw格式topo_type 非结构化的 (bool)-对于lat-long栅格,默认值为False。 面具 (bool)-是否存储为缺少的屏蔽数组 值(如果为False,则为默认值) 过滤器区域 (元组) 跨步 (列表).x和y维度的步幅列表 分别是。 默认值为 [1, 1] 。请注意,这只是 目前已实现NetCDF读取。 nc_参数 (判决)-
在实例化对象时,前三个可能已经设置。
-
read_header(读取页眉) ( ) ¶ 在路径处读取地形文件的标题。 如果值返回numpy.nan,则该值不可检索。 注释 此例程可以读取值和标签为 交换了的。
-
替换no_data_values ( 方法 = “填充” ) ¶ 更换 无数据值 其他值由 方法 . 自编号数据值 输入 : 方法 可以是以下之一: 填满 -填写全部 无数据值 位置,具有 价值 最近的 -填写 无数据值 具有的位置 最近邻居的平均值。
-
替换值 ( 指数 , 价值 = 南 , 方法 = “填充” ) ¶ 替换处的值 指数 通过指定的方法 方法 : “填充” “最近的”
-
设置_xyZ ( X(X) , Y(Y) , Z ) ¶ 设置_x、_y和_Z属性,然后生成x、y、Z。 如果X,Y是1d数组,那么Z的形状应该是(len(Y),len(X))。 允许X、Y是形状Z.shape的二维数组,在这种情况下 第一次提取x,y
-
平滑数据 ( 指数 , 第页 = 1 ) ¶ 在以下位置过滤地形数据 指数 通过平均周围的数据。 周围数据考虑在半径范围内 第页 在中 信息-形式。 用作低频带通滤波器,可消除振荡数据。 输入 : 指数 (列表) 第页 (整数)
输出 : 无
-
写 ( 路径 , 地形_类型 = 无 , 无数据值 = 无 , fill_value(填充值) = 无 , 页眉_样式 = “土爪” , Z格式(_F) = “%15.7e” , 网格注册 = 无 ) ¶ 将地形文件写入类型的路径 地形_类型 . 写出用指定的地形类型的地形文件 地形_类型 或 从输出文件的扩展名推断,默认为3,路径为 来自Z中的数据。其余参数用于写入标头 数据。 输入 : 路径 (str)-要写入的文件 地形_类型 (int)-GeoClaw格式topo_type 注: 这是第二个立场论点,同意 这个类中的read函数。 这是年第三次辩论 GeoClaw 5.3.1及更早版本。 无数据值 -用于指示缺失数据的值 fill_value(填充值) (float)—填充屏蔽数组时使用的值 页眉_样式 (str)-表示标题行的格式 “geoclaw”或“default”==>写入值然后标记 默认为grid_registration==“lower” “arcgis”或“asc”==>写入标签然后写入值 默认为grid_registration=='llcorner' (ArcGIS中的.asc文件需要)
Z格式(_F) (str)-用于Z值的字符串格式 默认格式“%15.7e”提供的精度至少为毫米 对于abs(Z)<10000的地形,结果为 小于中使用的先前默认值“%22.15e”的文件 GeoClaw 5.3.1及更早版本。 可以使用较短的格式 如果用户知道有效数字较少,例如。 etopo1数据是整数,因此分辨率为1米。 在这种情况下,可以编写裁剪或粗化版本 具有 Z_format=“%7i” 例如。 网格_注册 (str)-“lower”,“llcorner”,“ll中心” 对于上述默认值,则为“无”。
-
财产 x个 ¶ x方向的一维坐标数组。
-
财产 年 ¶ y方向的一维坐标阵列。
-
财产 z(z) ¶ 将数据表示为1d数组。
-
clawpack.geoclaw.topotools。 创建拓扑函数 ( 本地 , 冗长的 = False(错误) ) ¶ 给定一组(x,z)指定的一维地形剖面 值,创建一个lambda函数,该函数在求值时将给出 在点(x,y)处进行顶描。 (结果函数以y为单位为常量) 例子 : >>> (f) = 创建拓扑函数 ( 本地 ) >>> b条 = (f) ( x个 , 年 ) 输入 : 本地 (list)-创建一个地形文件,其轮廓由 loc中的元组。 下面显示了一组示例点。 注释 列表的第一个值是x位置,第二个值是 地形的高度。 z(z) ( 米 ) ^ o个 本地 [ 5 ] o个 | | 本地 [ 4 ] |-------------------------------------------- o个 -----> x个 ( 米 ) ( 海 水平 ) | | o个 本地 [ 2 ] o个 本地 [ 三 ] | | | o个 本地 [ 1 ] | | | __________________o个 本地 [ 0 ] 0
-
clawpack.geoclaw.topotools。 确定地形类型 ( 路径 , 违约 = 无 ) ¶ 使用路径的文件后缀,尝试确定拓扑类型。 输入 : 路径 (字符串)-文件的路径。 可以包括存档扩展(它们 将被剥离)。 违约 (object)—如果没有合适的拓扑类型,则返回值 已确定。 默认值为 无 .
返回1-3之间的整数或 违约 如果没有匹配项。
-
clawpack.geoclaw.topotools。 获取topo_url ( 网址 , 本地_名称 = 无 , 力 = 无 , 冗长的 = False(错误) , 询问用户(_U) = False(错误) ) ¶ 弃用:使用 clawpack.clawutil.data.get远程文件 相反(见下文注释)。 替换get_topo函数。 从web下载拓扑文件,前提是该文件没有 本地已存在。 输入 : 网址 (str)包含文件名的URL 本地_名称 (str)要创建的本地文件的名称。 如果 local_fname==无 ,从URL中获取文件名 力 (bool)如果为False,请在下载之前提示用户。
对于GeoClaw示例,可以在中找到一些拓扑文件 ` http://www.geoclaw.org/topo `_ 有关存档的地形数据集的列表,请参阅该网站。 如果force==False,则提示用户确保可以下载, 如果force==None,则检查环境变量CLAW_TOPO_DOWNLOAD 如果存在,则使用其值。 这对脚本很有用 python/runeexamples.py,它运行所有示例,因此不会停止提示。 此例程已被弃用,取而代之的是 clawpack.clawutil.data.get远程文件 。所有功能都应该是 相同,但在内部调用另一个例程。
-
clawpack.geoclaw.topotools。 获取_目标 ( 地形_名称 , 远程目录 , 力 = 无 ) ¶ 弃用:使用 clawpack.geoclaw.util.get_远程文件 相反 从web下载拓扑文件,前提是该文件没有 本地已存在。 remote_directory应该是URL。对于GeoClaw数据,它可能是 的子目录 http://www.clawpack.org/geoclaw/topo 有关存档的地形数据集的列表,请参阅该网站。 如果force==False,则提示用户确保可以下载, 可以选择首先获取元数据的小文件。 如果force==None,则检查环境变量CLAW_TOPO_DOWNLOAD 如果存在,则使用其值。 这对脚本很有用 python/runeexamples.py,它运行所有示例,因此不会停止提示。
-
clawpack.geoclaw.topotools。 读取_获取cdf ( 路径 , zvar公司 = 无 , 程度 = “全部” , 使变粗 = 1 , 返回_topo = 真的 , return_x数组 = False(错误) , 冗长的 = False(错误) ) ¶ 输入 : 路径 (str)—要读取的文件的路径,或远程文件的url, 或topotools.remotetopourls字典中的键。 zvar公司 (str)-变量,读取为Z=高程。 如果无,将尝试“Band1”、“z”、“elevation”。 程度 -[x1,x2,y1,y2]表示所需子集,或“all”表示整个文件 使变粗 (int)-粗化因子,默认为1。 返回_topo (bool)-如果为True,则返回topotools。 地形对象。 默认值为True 返回数组(_X) (bool)-如果为True,则返回xarray。 数据集对象。 默认值为False
输出 : topo和/或xarrayds取决于请求的内容。 (单个对象或两个对象的元组。)
如果 return_xarray==真 然后 沙雷 用于读取数据, 否则 净CDF4 直接使用。 示例用法: 从clawpack.geoclaw导入拓扑工具 范围=[-126,-122,46,49] 路径=“etopo1” topo=topotools.read_netcdf(路径,范围=范围,粗化=2,冗余=True) #要绘图: 地形点() #要保存地形文件以输入到GeoClaw,请执行以下操作: topo.write('etopo_sample_2min.tt3',topo_type=3,Z_format='%.0f') 这将为华盛顿西海岸提供2分钟分辨率的DEM。 注意,etopo1 Z值是整数(垂直分辨率为1米) 和使用 Z_format=“%.0f” 将保存为整数以最小化文件大小。
-
clawpack.geoclaw.topools。 洗蜡机 ( 输入文件 , 输出文件 ) ¶ 首先将标题中的键和值的顺序交换为值。 请注意,这是Topography类中功能的包装。
-
clawpack.geoclaw.topotools。 地形1写入器 ( 输出文件 , 地形 , xlower公司 , 徐珀 , 伊洛尔 , 雅珀 , nx点 , nypoint(nypoint) ) ¶ 函数topo1writer将通过计算 其他参数指定的网格上的函数topo。 假设topo可以在numpy.meshgrid生成的数组X、Y上调用。 输出文件是“topotype1”,我们使用它来引用带有 每行上的(x,y,z)值,从左上角开始 行,然后向下。
-
clawpack.geoclaw.topotools。 topo2编写器 ( 输出文件 , 地形 , xlower公司 , 徐珀 , 伊洛尔 , 雅珀 , nx点 , nypoint(nypoint) , 节点数据值 = -99999 ) ¶ 通过计算函数,写出拓扑类型2文件 地形 . 这个例程是为了向后兼容,只需创建一个新的 topology对象并将其写出。
-
clawpack.geoclaw.topotools。 拓扑3编写器 ( 输出文件 , 地形 , xlower公司 , 徐珀 , 伊洛尔 , 雅珀 , nx点 , nypoint(nypoint) , 节点数据值 = -99999 ) ¶ 通过计算函数,写出拓扑类型3文件 地形 . 这个例程是为了向后兼容,只需创建一个新的 topology对象并将其写出。