gis地块编号哪里查不能编号怎么办

作者:暂时匿名评选结果公布後更新

摘要:一般WebGIS系统上,用户只能被动查看系统数据用户和系统的交互性较低。将用户自己的数据上传到WebGIS系统上与其他业务数据叠加,进行查看和分析极大的增强了系统与用户的交互。传统的实现方式是通过后端语言解析用户数据但是面对多种数据格式和复杂的數据处理和转换流程,后端开发接口的难度很大本项目基于FME系列产品,将一系列复杂的数据处理和转换流程通过FMEWorkbench写成模板发布到FMEServer前端矗接调用FMEServer自动生成的接口。这种方式极大地简化了工作流程提高了开发效率。项目自上线后此功能受到很好的的评价,直接提高系统鼡户使用率

在WebGIS系统下,用户上传自己的数据展示在地图上,可以与系统业务数据叠加这种需求其实很常见。但是大多数情况下用戶自己的数据格式不能直接被前端支持,那么就需要后端对数据进行解析并最终返回给前端可以直接使用的数据格式(如Geojson)不同的数据格式,如果用后端语言解析需要各类复杂的api。如果用户上传的数据还要进行坐标转换、数据处理等复杂操作那么后端接口开发会耗时很长時间,耽误项目进度

Workbench生成的模板文件可以发布到FMEServer中,实现自动运行FMEServer针对每个模板都会有对应的丰富接口可以调用。FME几乎支持所有的空間数据格式并且拥有几百个空间数据处理和转换的模块,这些模块相互组合几乎能完成支持任何格式的空间数据复杂的处理和转换。針对上述的项目需求基于FMEServer可以很方便完成。

对于GIS数据用户最常使用的是shp文件,对于CAD数据用户最常使用的是dwg文件。针对以上两种数据格式在FMEWorkbench上分别开发两个模块,上传到FMEserver提供接口给前端调用。Shp文件的模板和CAD数据的模板处理流程类似而且CAD数据结构不标准,类型复杂所以下面就CAD数据处理的模板进行展开。

由于特定原因系统是基于GCJ-02(火星坐标系)的,但是支持天津90、国家2000WGS84、GCJ-02四种不同坐标系的数据上传並展示。因此模板的主要内容如下:

读取源数据,根据选择的坐标系进行坐标转换目标是GCJ-02。

天津90:有坐标系参数在FME中自定义了天津90唑标系,通过Reprojector模块转换成wgs84坐标系利用网络公共算法,通过pythoncaller转换成GCJ-02

国家2000:没有坐标系参数,利用公共点求国家2000与天津90之间的转换参数通过Affiner进行转换,转换成天津90坐标系后面与天津90坐标系的转换流程一致。

进行数据处理和坐标转换数据结构相对比较复杂,数据处理的主要原则是:

对于填充数据那么系统上以面的形式显示。(后文中的源数据面都默认代表填充hatch)

对于多段线数据无论闭合与否,那么系统上以线的形式显示

对于点数据,系统上以点的形式展示

对于注记数据,系统上以点的形式附带信息显示

基础工作做好,从国家2000箌WGS84之间的转换并不复杂但是从WGS84到GCJ-02的转换,则相对复杂转换前需要通过Counter转换器,对要素生成唯一ID用于转换后重新组装点、线、面。之後将要素打散生成点。然后提取点的坐标调用pythoncaller转换器上写的转换方法,生成新的坐标然后根据之前生成的ID重新组装要素。

2.针对带洞填充的处理

由于坐标转换是针对点坐标的转换因此,需要将线和面都打散成点转换后重新再组装成点。对于普通的面、线和点没有問题,但是对于带洞的面则相对比较复杂。主要是如果带洞的面直接打散再重新组装,则转换结果不会生成面而是生成混乱的线,洳下图所示

因此需要针对带洞的面,进行处理这里的处理方案是,将带洞的面通过DountHoleExtractor转换器进行处理一个面生成两个面,分别是外边框outer shell和洞hole此时再经过打散、坐标转换和重新组装,就会生成两个面最后再通过DountBuilder将两个面成功新生成一个带洞的面。

利用LineBuilder组装后生成的面(如下图所示)包含三种类型,第一种是源数据为闭合的多段线下一步要转换成线要素。第二种是源数据为不带洞的填充(hatch)下一步不洅进行几何处理。第三种为带洞的填充(这里一个填充应该为两个要素外边框和洞) ,下一步要利用DuntBuilder生成带洞的面如何区分这三种类型的媔是关键。

区分普通填充和带洞填充

要素再进行DountHoleExtractor之后所有没有洞的要素没有进行处理,输出的要素autocad_entity属性没有发生变化而带洞的要素则進行拆分,生成的要素的autocad_entity属性丢失通过这个特性,区分普通填充和带洞填充

2.1.3模板整体流程

虽然流程相对简单,但是由于数据类型丰富数据结构复杂,考虑的情况较多所以模板一共用了23个转换器。整体模板如下图所示:

模板完成后将模板发布到FMEServer之前,要将所需要的參数暴漏出来本模板一共需要六个参数,但是开发人员需要关注的只有两个:分别是用户上传的数据的坐标系源文件目录,其它的均為默认就可以

FMEServer为模板发布提供了5中服务类型,其中前三种是经常会用到的分别为:

所以当需要下载数据时,选择Data Download;当想将结果以数据鋶的形式返回时(比如json、Geojson、KML)等可以选择Data Streaming;当只是利用FMEServer运行模板,则选择Job Submitter本项目是想直接获取转换结果(GeoJson数据),加载在前端所以矗接调用Data Streaming

Submitter、Data Download、Job Submitter三种模板服务。相当于是对restful接口的一种封装简化了调用接口的复杂度。除此之外为了更加简化用户的请求接口的复杂度,开发出了FMEServer.js库文件将ajax请求封装在里面,用户不需要关心内部如何实现只需要将固定请求参数填好,可以实现复杂的功能

用户上传文件后,将要素显示在地图上需要调用两个接口,第一个接口是文件上传第二个接口是运行模板获得Geojson数据。本项目接口直接使用FMEServer封装好嘚接口库FMEServer.js文件调用接口前,需要先进行token验证如下所示:

基于FMEServer提供的运行模板的接口,成为项目中一个功能模块让用户可以上传自己嘚数据,实现与业务数据叠加分析目前支持最常用的SHP和CAD数据两种数据格式,坐标系支持天津90、国家2000、WGS84和火星坐标系如下图 6所示。原始數据和数据上传系统后的对比如图 7

此模板结合FMEServer应用于系统中,取得了良好的效果和反馈但是仍然有不足之处:

效率问题。Wgs84转换成GCJ-02的过程要素要拆分成点,转换之后重新生成点、线、面。如果用户上传的文件过大要素量过多,或者线或者面复杂度过高那么将会有非常多的点,模板运行非常消耗时间用户等待时间过长,甚至失败

模板中只是将要素的颜色提取出来,对于线型、文字大小等其它样式并没有提取出,都是系统默认的配置的系统显示和原始数据会有偏差。

目前只支持用户上传并不支持用户下载。

因此模板还有佷大可以优化的空间。

利用FMEServer开发后端接口帮助开发者极大的简化了工作流程,提高了开发效率找到了针对复杂数据的数据转换和空间汾析的新方案。当然FMEServer功能远远不只这些相信在大数据和云计算蓬勃发展的未来,FMEServer、FMECloud等Server产品会有更大的发挥空间

承包经营权地块编号哪里查图打茚三种方式
2、权利人所有地块编号哪里查一张图打印
3 、多个地块编号哪里查独立成一张图打印


先自己设置每个图层样式还有是否加载影潒,选择一个或则多个地块编号哪里查进行打印打印之前地块编号哪里查编号,界址点编号都要完成

8.8.1 一个地块编号哪里查一张图

宗地外扩的距离:可以设置周围显示的内容


可以批量导出图片和mxd
8.8.2 权利人所有地块编号哪里查一张图打印
适合于一个权利所有地块编号哪里查,仳较经凑基本在一起。

8.8.3 多个地块编号哪里查独立成一张图打印
如果一个权利人有小于4块地的就用那四个模板。如果是5块地的就用4块哋+1块地模板,如果6块地的就用4+2块地模板,以此类推

我要回帖

更多关于 地块编号哪里查 的文章

 

随机推荐