在ArcEngine中创建带高程Z值的点和线图层

管线和其附属物的坐标数据都是带有Z值的

而且有些情况下,一个管段的两个端点的x,y值一模一样(垂直的管段)

这样的线,在直接生成shape图层的时候,就会产生问题,特别是

使用ArcSDE的C API直接创建到表中的时候你会发现,这样的数据是生成不了的

 

解决的方法就是为图层添加Z值,一个图层是否带有高程值,可以在ArcMap中通过查看

图层的属性表得知,带有Z值的图元,在Shape字段中,其类型后面会有个ZM字样

比如point ZM,Polyline ZM

带高程值的图元Shape字段显示状态

创建带高程Z值的图层时,只设置Point的Z属性是没有用的,默认情况下

ArcEngine会忽略Z值,

两步走,解决问题:

第一步:创建Shape图层,使用IFeatureWorkspace.CreateFeatureClass

此函数的第二个参数是IFields,字段定义,在字段定义中对Shape字段的类型

使用IGeometryDefEdit.HasZ_2 = true指定其包含Z值,

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值