基于ArcEngine的空间数据通用建库软件介绍
最近花了点时间把之前的空间数据入库功能进行了完善,在这里做一个简单的介绍,也希望大家给提点意见和建议,我的目标是做一个好用、易用、通用、稳定的入库程序。
1、软件特点:
- 基于模板(方案)的数据更新
采用配置模板进行更新操作,对于接边、推历史库、图层字段映射等根据客户需要灵活定制。
可配置信息包括:
|
序号 |
功能名称 |
功能描述 |
备注 |
|
1 |
基础配置 |
配置现状/历史图层名称命名规则,现状/历史关键字段,宏字段等信息。 |
宏字段是以[]包围的文本,在其它配置文件中可以使用宏字段代替相应的内容。 |
|
2 |
图层字段映射配置 |
指定源图层和目标图层的对应关系,字段的对应关系;目标数据库不存在对应图层的处理方式;是否仅入库配置图层;目标图层字段不存在的处理方式等信息。 |
将源图层中满足条件的实体入库到指定图层,并根据字段对应关系赋值。 |
|
3 |
数据归档配置 |
设定是否启用归档模式(数据存储到历史库);哪些图层支持归档;归档类型(待入库数据范围内所有现状数据都归档、待入库数据范围内变化了的数据归档) |
|
|
4 |
数据变更检查配置 |
配置要素变化检测标准,识别要素是否发生了变化。 |
包括属性和空间两种判断依据。 |
|
5 |
接边配置 |
配置范围图层名称,需要接边的图层名称,需要接边实体的过滤条件,接边判断条件等信息。 |
|
|
6 |
审核配置 |
入库时对于入库数据进行审核,包括了图层存在性、非空性、字段存在性、字段类型、字段值非空、字段值赋值规则、字段值与现有数据冲突规则等。 |
- 集成入库审核,提高数据入库门槛
数据入库时根据需要进行数据审核,满足条件的数据才能进行入库。主要包括:
图层存在性、非空性、字段存在性、字段类型、字段值非空、字段值赋值规则、字段值与现有数据冲突规则等
如:控规数据入库时,用地性质必须与总规的用地性质保持一致;
图层中必须包括设计人员字段,且设计人员字段值不能为空;
控规地块的建筑密度必须是0到100且最多2位小数的数值
……
- 基于事务的数据更新
数据更新后,用户可以选择是否保存编辑到数据库,如果发现有错误,可以取消保存,则数据库保持更新前状态。
- 支持C#脚本
数据更新时,如果入库方案的配置无法满足入库要求,可以编写C#脚本辅助执行特定的操作。
- 数据版本自动维护
根据数据更新时间,自动维护数据版本,便于数据比对与回溯。
- 待入库数据自动纠错
待入库数据如果与SDE中图层的坐标系统不一致,系统自动修改待入库数据坐标系统,使其与目标库中保持一致;
待入库数据如果存在面积为负数的情况,系统自动纠正。
- 数据接边
对需要接边的数据进行接边处理,如:道路中心线、河道蓝线等。
- 快速导入与更新多模式选择
快速导入模式适用于初始建库;更新模式适用于在已有数据基础上的数据变更。
- 详细的提示信息
输出详细的提示信息,便于用户及时掌握数据更新状态。
2、适用行业:
已经在如下类型项目中得以应用,希望有机会参与其它行业的空间数据建库项目。
- 地形数据建库
- 地籍数据建库
- 规划数据建库
3、界面截图:
1)建库效果

2)入库方案编辑

3)入库方案编辑(编辑脚本)

4)入库方案编辑(性能优化)

4、场景描述
1)A国土局之前没有进行过地形图建库,现在需要建立SDE库,希望快速把本地文件(mdb文件、SHP文件)导入到SDE中,并且由于数据仅限于以底图的方式浏览察看使用,对于浏览察看的效率要求较高;存储空间一般,不需要保留历史库。
分析:
由于之前没有进行建库,适用入库程序的快速导入模式,可以将数据批量导入到SDE中。由于数据仅限于浏览察看,且调图性能要求较高,建议按照点、线、面、注记的方式简单分层,以图幅为单位建库,并对建库后的SDE图层执行Group操作,以提高调图速度。
解决方案:
A)采用快速导入模式;
B)入库性能优化中选择“快速导入使用Load方式”
C)取消归档、取消接边
D)启用SDE分组,并设置按照图幅号分组
2)B规划局进行规划数据建库,将控规按照规划单元进行划分,将设计好的数据转换成SHP文件,进行建库,要求道路中心线要接边,控规单位内原有的数据不论是否变化要全部推入历史库,能够查询到历史控规数据。
解决方案:
A)将控规单元定义为更新范围
B)建立现状和历史SDE图层
C)接边配置中添加道路中心线
D)启动归档,并且将需要归档的图层设置为数据全部归档
E)由于同一条道路在接边时可能跨了两个不同的规划单元,道路上如果有所属规划单元属性字段,在变更配置中,将道路中心线的所属规划单元字段设置为不做检查
4、后续工作
1)定义CAD->GIS对应关系,直接将DWG数据分类、提取、转换、入库,无需进行额外的数据转换操作。
2)完善针对历史版本的各项操作(合并、浏览、输出……)
基于ArcEngine的空间数据通用建库软件介绍的更多相关文章
- ArcGIS农村土地承包经营权辅助建库软件说明书
软件作者:闫磊 电话:18987281928 或13108507190 QQ:853740877,QQ交流群:236352926 1. 软件安装... 4 2. 系统整体界 ...
- arcgis 地理国情建库软件已完成
arcgis 地理国情软件已完成: 1.创建1:25000(或则其他比例尺)国家2000坐标系接合表 2.按照地理国情普查数据库标准,创建标准数据库 3.外业调查工作底图制作 4.矢量和影像数据批量裁 ...
- VMware下安装Linux系统,ORACLE软件,DBCA建库
操作系统安装 在vmware下安装Linux (OEL5.6),用于数据库服务器 1.打开vmware,选择"创建新的虚拟机" 2.选择自定义安装 3.选择虚拟 ...
- 静默方式安装10g数据库软件+升级patch+手工建库
通常我们安装Oracle数据库软件,都是用OUI图形界面来完成的,但有些Unix/Linux系统中并未安装图形系统,也就无法使用图形界面来安装Oracle的产品了,对于这种场景,就只能采用静默方式来安 ...
- 基于EntityFramework 6 Code First实现动态建库,分库,数据库自动迁移
一.前言 公司原本有一个"xx系统",ORM使用EntityFramework,Code First模式.该系统是针对某个客户企业的,现要求该系统支持多个企业使用,但是又不能给每个 ...
- 基于memcached的单机轻量级通用缓存库minicached的实现
一.前言 之前拜读过淘宝子柳的<淘宝技术这十年>之大作,深知缓存技术在系统优化中起着一个举足轻重的作用.无论是文件系统静态文件,数据库的访问,乃至网络数据的请求,只要是与内存访问速度相差较 ...
- 【转】 GRASP(通用职责分配软件模式)模式
转自:http://www.cnblogs.com/sevenyuan/archive/2010/03/05/1678730.html 及:http://blog.csdn.net/lovelion ...
- 介绍n款计算机视觉库/人脸识别开源库/软件
计算机视觉库 OpenCV OpenCV是Intel®开源计算机视觉库.它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法. OpenCV 拥有包括 300 多个 ...
- 【转】SVN建库方法
转载地址:http://blog.csdn.net/winonatong/article/details/5791919 SVN全名Subversion,即版本控制系统.SVN与CVS一样,是一个跨平 ...
随机推荐
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(五)-- Filter
在上一篇里,介绍了中间件的相关内容和使用方法.本篇将介绍Asp.Net Core MVC框架的过滤器的相关内容和使用方法,并简单说明一下与中间件的区别. 第一部分.MVC框架内置过滤器 下图展示了As ...
- Knockout.Js官网学习(简介)
前言 最近一段时间在网上经常看到关于Knockout.js文章,于是自己就到官网看了下,不过是英文的,自己果断搞不来,借用google翻译了一下.然后刚刚发现在建立asp.net mvc4.0的应用程 ...
- 学习simple.data之进阶篇
一.结果排序 -OrderBy(升序) -OrderByDescending(降序) db.Product.All().OrderByFactoryName(); db.Product.All().O ...
- Learning Scrapy笔记(零) - 前言
我已经使用了scrapy有半年之多,但是却一直都感觉没有入门,网上关于scrapy的文章简直少得可怜,而官网上的文档(http://doc.scrapy.org/en/1.0/index.html)对 ...
- Dapper多表查询(列名重复,类字段重复)映射方案
1. 一个主名,一个别名,设计时候属性和字段命名不同. 这样主名和别名都可以用的,在主名与别人重复时候用别名(别名可以设计的明确一点长一点,比如类名和字段结合) 2. 或者找一个字段多的直接继承出一个 ...
- MVC的Filters(拦截过滤)的Error页面,支持Ajax报错
报错拦截过滤到error页面 [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, Inherited = true, A ...
- python 数据类型(sequence 序列、dictionary 词典、动态类型)
文章内容摘自:http://www.cnblogs.com/vamei 1.sequence 序列 sequence(序列)是一组有顺序的元素的集合 (严格的说,是对象的集合,但鉴于我们还没有引入“对 ...
- Jquery + echarts 使用
常规用法,就不细说了,按照官网一步步来. 本文主要解决问题(已参考网上其他文章): 1.把echarts给扩展到JQuery上,做到更方便调用. 2.多图共存 3.常见的X轴格式化,钻取时传业务实体I ...
- 【转】oracle connect by用法
今天偶然看到connect by,但记不太清楚具体用法了.转了个博客(写的蛮好的),当作笔记. http://www.cnblogs.com/linjiqin/p/3152690.html 先用sco ...
- Linux编译内核提示'make menuconfig' requires the ncurses libraries错误
原来使用的ubuntu 11.10系统由于误操作,导致系统崩溃,重新安装了ubuntu 11.10: 在编译内核的时候,提示如下错误: dingq@wd-u1110:~/hwsvn/2sw/1prj_ ...