【mike】02流速图
基础流程
经过采样点示意图后,当前手上应该拥有以下图层:
- 河道背景 - 线图层
- 全局河道 - 线图层
- 工程前河道 - 面图层
- 工程后河道 - 面图层
- 水位采样点 - 点图层
- 流速流场采样点 - 点图层
- 工程位置 - 点图层
- 水文、水位站位置 - 点图层
- 显示范围 - 面图层
新增的为数据图层:
- 图层生成:
流速{工况}_DONE{n} - 线图层
,通过编写工程或者手动提取,工程插件:cps_test > 00流速-生成等值线图层
- 显示修正:生成数据图层后,对齐进行最基本的视觉检查,将一些不需要显示的进行隐藏,或者将一些被隐藏的进行显示修正
- 显示范围:根据实际工况生成显示范围图层,该图层命名为
显示范围.shp
,添加一个字段pageID
- 从模板
.mxd
中打开,或者通过脚本将数据图层和模板mxd文件进行关联
图层生成
- 通过dfsu、mesh等文件,获取对应的河道河道shp(面)文件
- 用来裁剪克里金插值后的数据
- 用来制作底图的河道样式
- 数据删栏化
- 分别将数据进行提取,最终导出xyz文件
- 将xyz文件导入arcgis,具体步骤:
- 点文件信息
- 3D ASCII 文件转要素类
- 点转栅格
- 数据插值,如果工程前后采用的网格不相同,则需要进行插值
- 数据差值计算,工程后-工程前,获得对应的数据删栏
3D Analyst Tools > 删栏计算 > 减
- 数据平滑处理
- 提取河道范围的栅格数据:数据管理工具>栅格>栅格处理>裁剪
- 绘制等值线
- 平滑等值线:10~30数值
- 过滤等值线
- 根据等值线值计算正负关系
- 过滤一些太小的线段
- 数据展示
过滤字段
- 仅限制长度
def test(Contour, Shape_Length):
Contour = float(round(Contour, 2))
length = int(Shape_Length)
limt = 1000
if length >= limt:
if Contour==0:
return "流速不变"
elif Contour>0:
return "流速增大"
else:
return "流速减少"
else:
return ""
test(!Contour!, !Shape_Length!)
- 限制长度和等值线范围
def test(Contour, Shape_Length):
Contour = float(round(Contour, 2))
length = round(Shape_Length, 2)
limt = 900
contour_limt = [0, 0.01, -0.01, 0.03, -0.03]
if length >= limt and Contour in contour_limt:
if Contour == 0:
return "流速不变"
elif Contour > 0:
return "流速增大"
else:
return "流速减少"
return ""
test(!Contour!, !Shape_Length!)
- 仅过滤流速变化
def test(Contour):
Contour = float(round(Contour, 2))
if Contour == 0:
return "流速不变"
elif Contour> 0:
return "流速增大"
else:
return "流速减少"
test(!Contour!)
标注相关
- 仅根据
// 假设当前字段名称为
// static字段,记录了三种状态
// 流速增大、流速不变、流速减小
function FindLabel ( [static], [Contour])
{
tar = [static].toString()
if(tar !== ""){return [Contour]}
return "";
}
// 添加条件限制
function FindLabel ( [static], [Contour], [Shape_Length] )
{
var tar = [static].toString()
var limt = 300
if(tar != "" && [Shape_Length] >= limt) return [Contour]
return "";
}