面向城市规划参数化策划技术与系统(二).docVIP

面向城市规划参数化策划技术与系统(二).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向城市规划参数化策划技术与系统(二)

面向城市规划的参数化设计技术与系统(二)   【摘 要】针对城市规划行业目前普遍使用的AutoCAD软件所绘制的图形层次较低且缺乏关联、智能性不足、方案修改维护成本高,以及现有参数化设计系统技术门槛较高等问题,提出一套面向城市规划的参数化设计新技术,并开发了相应的系统。文章共分三部分,本文为第二部分,给出了DXF-SHP文件格式自定义转换方法,其中包括DXF文件的读取和存储、SHP文件写入技术等。第一、三部分分别给出了系统整体架构思路和基于属性块的城市图元参数管理方法、参数化三维建模技术,并通过实际规划案例,证明了所述技术和系统的可行性和高效性 【关键词】参数化设计;城市规划;CityEngine;格式转换 1 引言 目前城市规划行业普遍使用计算机辅助设计软件为AutoCAD,它所绘制的图形存在着层次较低且缺乏关联、智能性不足、方案修改维护成本高,以及现有参数化设计系统技术门槛较高等问题,严重制约了城市规划设计工作的效率。为此,笔者提出了一套面向城市规划的参数化设计新技术,并开发了相应的系统。文章共分三部分:第一部分介绍了系统的整体架构思路和基于属性块的城市图元参数管理方法;本文为第二部分,重点介绍了DXF-SHP文件格式自定义转换方法,其中包括DXF文件的读取和存储、SHP文件写入技术等;第三部分给出了参数化建模技术,并通过实际规划案例,证明了所述技术和系统的可行性和高效性 2 DXF-SHP文件格式自定义转换技术 DXF[1](Drawing Exchange File)文件是Autodest公司推出的与外部CAD/CAM进行图形信息交换的一种文件格式。一个完整的DXF文件应由7个大段组成:标题(HEADER)段、类(CLASSES)段、符号表(TABLES)段、块(BLOCKS)段、图元(ENTITIES)段、对象(OBJECTS)段、文件结束符号(组码为0,组值为EOF)[2]。每个大段又由若干个组组成,每个组占用连续的2行,第1行为组码,用于表示后续数据所代表的含义,第2行为组值,相当于数据的值,组码和组织合起来代表1个数据的含义和数值 本系统客户端输出格式为DXF(DWG可转换成DXF),而服务端CityEngine平台必须使用SHP(ESRI Shapefiles)[3]格式,因此首先需要进行文件格式转换,包含读取DXF文件、存储实体信息并写入SHP文件两大块内容 2.1 读取DXF文件 目前,DXFLIB是一个比较实用的读写DXF文件的C++库。在读取DXF文件时,DXFLIB分析文件并且调用用户自定义的函数来添加实体、层、块等数据。然而,DXFLIB并不保存任何实体或者信息,更不提供保存的容器,需要用户自定义处理函数。它的基本工作原理如下:(1)DXFLIB分析DXF文件,识别对象;(2)当获得用户需要的对象时,调用用户自定义的回调函数;(3)在用户的回调函数中处理各种实体,或者将它们保存到容器中 本系统利用DXFLIB设计的读取DXF文件基本流程如图 1所示。首先进入块(BLOCKS)段读取块定义信息,将每个读取到的块及其内部图元存入一个预先定义的“块”数据结构,并保存在块容器(一个存储块的列表)中,注意块列表中的图元并不在绘图区显示,它只起到参照的作用。块段读完之后,进入实体(ENTITIES)段,搜索并读取属性块(DXF内部定义为INSERT实体)图元。当找到一个INSERT实体时,读取它的引用块名、插入点坐标、缩放和旋转参数、属性值(ATTRIB)等信息。然后根据引用块名,在前述的块列表中获取原块定义,提取其中的每个几何图元,作坐标转换、记录属性值、线/面判断以及存入线/面容器等操作。实体段读完后,整个流程结束 2.2 存储和写入SHP 在存储、写入矢量数据方面,作为GDAL项目分支的C++开源库――OGR[4]提供了较好的支持。OGR体系结构包含有OGRGeometry,OGRFeature,OGRLayer等大类,[5]其中Geometry类又包含点、线、面、多点、多线、多面等派生子类。下面将介绍结合OGR设计的数据结构(容器),用以存储从DXF文件中读取的属性块信息 首先,针对属性数据(Promp字段不做记录)设计如下结构:

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档