system: [SYSTEM]

user: 4. 部分关键功能与技术实现 4.1. 项目管理 新建项目：新建一个项目时，系统调用工作流引擎创建项目，自动为项目添加一个项目编号。用户新建后系统便开始项目流程管理，对项目从开始到废弃全流程进行管理。 办理项目：根据用户的角色或权限以及接受项目情况，从数据库获取已经存在的项目，用户根据权限打开需要的项目添加地形编辑器，用户可以通过地形编辑器进行编辑，编辑完的数据根据选择的地形 Table 1 List of settlement place， institutio 要素层名称 要素层代码 几何类型 居民地与建(构)筑物点层 JMDSSP Point 居民地与建(构)筑物线层 JMDSSL Line 居民地与建(构)筑物面层 JMDSSA Polygon 居民地与建(构)筑物注记层 JMDSST Point 表1. 居民地与设施图层表 Table 2 List of factor attribut 字段名称 字段代码 字段类型 约束条件 备注 项目编号 XMBH String 主键 要素代码 YSDM String 不为空 删除的项目编号 DELETEDXMBH String 状态 STATE Int 1/2/4/8 1：已删除 2：编辑中 4：正式入库 8：删除中 创建时间 CREATETIME Date 不为空 结束时间 ENDTIME Date 注记值 ZJTEXT String 表2. 要素集属性共性字段表 要素自动配赋其要素代码，同时将数据状态设置为2 (编辑中)，以免其他用户读到脏数据。 移交项目：如果处于编辑状态，系统停止并保存编辑，调用工作流引擎转件，填写办理意见，将项目移交到下一个流程环节中。 退回项目：如果处于编辑状态，系统停止并保存编辑，调用工作流引擎退件操作，填写退回原因，并将项目退回到上一个流程环节中。 接受项目：根据用户的角色和权限，从数据库读出所有处于权限范围内未被接受的项目列表，用户选择接受的项目，同时将接受的项目打开，此时，其他用户不可接受办理。 查看流程：可以查看当前项目所在流程，以及之前项目流程的办理人以及时间等，也可以查看所有流程。 保存项目：将本次编辑的要素保存到项目中，同时将当前视野保存到项目中。以至下次打开本项目时，可以自动定位到当前工作视野。 4.2. 元数据管理 4.2.1. 图层管理 参照制定的地理要素标准，对SDE连接及要素集、要素图层、图层字段等元数据进行配置管理。通过ListView、ComboBoxList、TreeView等控件以可视化的方式管理数据表(字段、图层等)中的记录。配置完成后通过ArcEngine的CreateFeatureClass方法动态创建图层以完成初始化空间数据库。初始化数据库后可以通过AddField或DeleteField方法对图层中的字段进行维护、管理。通过IWorkspaceDomains2的AddDomain方法添加Domain实现字段域的修改。 4.2.2. 要素分类管理 参照制定的地理要素标准，对图形编辑器配置，实现图形编辑器的动态初始化。提供图形编辑器配置文件节点的修改，添加和删除。默认通过XmlDocment读取地形编辑器的XML配置文件，将其文件中的节点的内容显示在TreeView中。 可以在模块上进行配置文件节点的修改，添加和删除操作。在TreeView的右击菜单中单击添加节点，命名后在XML配置文件中添加节点。双击TreeView节点，修改节点名称，修改后在XML配置文件中修改节点。在TreeView右键菜单中单击删除事件，删除后在XML配置文件中删除对应节点。 4.2.3. 图层检查规则管理 为了确保数据的质量，配置空间关系的检查规则，例如：宗地不能重叠，添加名称、源图层、项目层、检查方法等来完成，以供客户端程序在做审批或入库前质检使用。 4.3. 流程权限管理 4.3.1. 部门人员管理 不同企业或政府有不同层次的部门级别，部门层次是递归实现，实现对部门维护，包括添加，修改和删除，形成树状组织结构。实现对人员的维护，包括添加，修改和删除，人员调动，设置为在职，退休，注销等状态。 4.3.2. 业务流程管理 业务流程管理采用可视化工作流建模技术，以GDI图形化绘制来实现，对业务过程进行描述，然后将其转换成工作流模型中所述及的关系结构。流程图分为流程性和非流程性，流程性由活动和规则两类组成，其中活动由不同类型的多边形表示，转发规则由连接线表示，用来表示业务流程。非流程性由哑活动和查询活动组成，实现完成特定业务功能表单和通用定制查询表单的操作。系统管理员可以对各活动结点的相应表单进行绑定，在前台系统在执行相应功能时动态调用。 4.3.3. 角色权限 权限分配非常灵活，通过任务指派规则实现，可以指定角色，部门，团队，或者特办人员方式分配。流程的活动可以实现多种任务指派叠加的方式，以满足不同的应用。根据业务流程环节以及系统功能定义角色，决定测绘系统中拥有项目受理、审批、浏览、编辑、回溯等权限的人员。 4.3.4. 字典表 字典表用于维护图层字段的值只可用于某些选择范围的固定值，例如：用地性质：国有，集体，划拨等。这类字段需要定义图层字段的域，这些字段的值只能是域中的一个。将数据库中定义的域使用IWorkspaceDomains2接口添加到SDE中，再使用IClassSchemaEdit的AlterDomain方法将这些域赋值给具体的字段。 4.4. 工具 4.4.1. 空间关系检查 通过后台配置的空间检查规则，获取MXD文件中对应的图层，再根据定义的检查规则将SDE中数据通过ISpatialFilter接口进行空间关系检查，如发现错误，在列表中显示。 4.4.2. 符号化 符号化对图层进行唯一渲染，不同图层以不同的颜色区分，同时，相同图层内的不同要素根据要素代码赋予不同的符号样式。使用ArcMap制作符号文件，通过IStyleGallery等接口获取已经定义的符号样式，将样式添加到UniqueValueRenderClass实例中，然后将此实例赋值给图层的Render属性，实现图层的符号化。 4.4.3. 数据回顾 根据时间回溯：项目中的数据包含开始时间及结束时间两个字段，用户选择不同的时间点，系统加载相应的数据，供用户查看当前时间数据状态。通过时间字段定义IFeatureLayerDefinition接口实现图层数据的过滤，展现不同时间点系统的数据。 根据项目回溯：根据项目编号，查找到该项目，并配置不同时间点展现该项目不同时间的数据状况，达到时间和空间数据库的一体化。 4.4.4. 查询项目 根据用户输入的信息，从数据库查询到项目，用户通过查询到的结果可以打开项目、删除项目。打开项目是以只读的方式打开，只能浏览项目数据，不可编辑。删除项目时将本项目编辑中的数据直接删除，将删除状态的数据返回到正式状态。 4.4.5. 宗地图 选择一个宗地或者根据宗地号查询一个宗地导出宗地图。将地图中的宗地要素、房屋要素等图形要素转换为Element，将需要的板式元素添加到排版中，最后保存到数据库。坐标点册使用NPOI动态链接库将坐标点导出为Excel文件。 4.4.6. 导入散点 通过IFeatureCursor将点导入到FeatureClass中。新建一个项目，选择一个DAT格式的坐标数据文件，输入坐标代号，系统读取文件内的测绘坐标数据加载到SDE中，如果坐标缺少坐标代号，系统自动添加，最后将SDE中的数据加载到图层中显示出来，进行地图编辑操作。 4.4.7. 导出为DWG文件 通过ArcEngine的接口获取到已打开项目的图层，供用户选择。用户确认导出后，调用读写DWG文件的第三方库TeighaX读取图层中的图形及属性信息并写到DWG文件中，实现按图层导出功能。另外可以按选择集导出，通过AE的IMap接口得到FeatureSelection，最终转化为IEnumFeature，循环导出选择集中所有的要素到DWG文件，IEnumFeature只能获取图形元素，需要通过对IEnumFeatureSetUp的AllFields属性的设置获得属性信息。