网站大量收购闲置独家精品文档,联系QQ:2885784924

ArcGIS10操作简介.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ArcGIS10操作简介

最近学习FME,使用FME完成了一个对界址点重排序的案例,写出来与大家分享探讨一下: 其实根据宗地生成界址点,界址线只需一个转换器Chopper即可完成,把最大节点数设为1,转为点;最大节点数设为2,转为线。 但是往往客户还会有其他的需求,比如: 1、 界址点按照街坊统一编号,从1开始累加编号,界址点编号在同一街坊不重复 2、 界址点从每宗地的左上角开始,顺时针顺序编号 3、 界址点按照本街坊,从左往右,从上往下顺序依次编号 例如下图: ?? 那么我先说说我的思路: 第一步 顺序提取每个宗地坐标点: 这个过程是将宗地转为点,并顺序提取每个宗地界址点并编号(原始Point_id),注意,此编号的起点并不是左上角,有可能是右上角,右下角。 ????????????????????????????????????? ? 这里用到Orientor:将多边形节点转为顺时针; 还有一个循环:顺序提取坐标点并赋给属性ys_point_id 第二步 界址点重排序: 寻找左上角界址点,并赋point_id为1,然后以此界址点为起点,为界址点重新顺序编号point_id; 这个过程重要点有两个地方, 1、????? 寻找左上角界址点:通过获取每个点坐标,选择X最小的为起点(当然这也有可能是左下角) 2、????? 界址点重新编号:首先找到左上角点,通过此点的ys_point_id-1计算出Δid,然后根据此Δid计算其他每个界址点的新序号point_id=ys_point_id-Δid,当然这里需要进行判断,如果point_id0那么此id为新序号,如果point_id=0,那么point_id+point_sum为新序号。(point_sum为宗地界址点总数,在第一步计算出) ??????????????????????? ? ??????????????????? 当然在此过程用到Sorter:重新排序; ????????????????????DuplicateRemover:删除重复点。 最后输出将会得到重新排序后的界址点。 如果还需要生成界址线,并且带有起始点号;终止点号的属性,实现思路就是将这些重排序的点与线重叠,将点编号传递给线,从而得到界址线的起始点号、终止点号。 注意: 数据中可能会出现环、聚合体等复杂结构,所以在做这些处理之前需要考虑对环和聚合体的预处理; 环的处理将用到DonutHoleExtractor转换器; 聚合体的处理用到Deaggregator转换器,这些具体问题就需要具体分析了。 以上纯属个人理解,如有不对请多指教 我们在处理地籍数据过程中,经常需要将宗地多边形拆分为界址线、界址点,并根据空间位置建立相互间关系。此外,我们假定有两个前提。一是批量处理或海量数据库,将所有宗地拆分的同时应消除重叠,随后通过界址线分别计算与宗地左右关系、界址点起止关系;二是适用于打印出图的单个宗地,除满足前述宗地界址关系外,还要求界址点从左上角开始、顺时针方向递增编号。 本文尝试通过FME这一数据转换平台实现该功能,同时欢迎大家指正。(注:为简化描述,下文只对较复杂或关键设置截图说明。) 2 实施 2.1 几何图形 基本上,通过转换器Chopper即可将宗地拆分为界址线(设置最大允许顶点数为2)、界址点(设置为1)。根据几何图形的不同,通过以下两个途径来消除重叠。 2.1.1 界址点提取及编号 一般来说,转换器DuplicateRemover可以将标记字段重复的记录筛选出来,因此只需提取各点平面坐标X/Y并把它们合并为前述标记字段。这种情况下,我们未考虑点与点之间拓扑关系,即一定距离范围内的所有点可视作同一点。尽管转换器CoordinateRounder对坐标截位可近似处理,但该运算不是严密的拓扑关系,这里不建议使用。 此外,我们也可以选用转换器PointOnPointOverlayer。对于_overlaps=0的部分,可直接取为界址点;对于_overlaps≥1,需将ptlist{*}编号相关联的部分剔除。如下图 (图1)? 两种方法比较不难看出,利用转换器DuplicateRemover消除重叠点流程更简练,效率更高。此外,本文即采用此法。 对于界址点编号,可按指定分组字段进行,比如行政街坊,这里把它作为参数发布了。 (图2)? ?? 2.1.2 界址线提取 可以利用转换器LineOnLineOverlayer,设置项“Separate Collinear Segments”应选择默认值“No”,即融合共享边。如需编号,也按上述方法。 (图3)? ??? 2.2 关系建立 所谓关系建立,即相关联的二者之一,其必须包含对方的属性。而这个属性可以选择唯一标识码(BSM),也可选择数据格式的主键(如ObjectI

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档