CN102831264A - 基于cad的地图信息转换方法 - Google Patents
基于cad的地图信息转换方法 Download PDFInfo
- Publication number
- CN102831264A CN102831264A CN2012102815737A CN201210281573A CN102831264A CN 102831264 A CN102831264 A CN 102831264A CN 2012102815737 A CN2012102815737 A CN 2012102815737A CN 201210281573 A CN201210281573 A CN 201210281573A CN 102831264 A CN102831264 A CN 102831264A
- Authority
- CN
- China
- Prior art keywords
- entity
- coordinate
- attribute
- entities
- conversion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于CAD的地图信息转换方法,将具有第一坐标系下坐标的第一地图信息转换为具有第二坐标系下坐标的第二地图信息,包括如下步骤:(a)通过选择集选择所述第一地图信息中的所有实体对象;(b)获取所述实体对象需要更新的属性;(c)根据所述需要更新的实体的属性,对所述实体进行坐标转换;(d)对所述经坐标转换的实体的属性进行赋值并根据所述属性更新所述实体。根据本发明的转换方法,基于地图中的实体,根据所述实体的名称,对实体的属性进行更新,从而可在不同的坐标系下进行转换。
Description
技术领域
本发明涉及数据转换方法技术领域,尤其涉及一种基于CAD的地图信息转换方法。
背景技术
随着计算机技术的日益演进,数字化的地图信息得到了越来越广泛的应用。本文所称的地图信息例如包括地形图和地籍图。
计算机辅助设计(CAD)广泛应用于机械、电子、土木、建筑、航空、航天、轻工、纺织等专业,其主要用于二维绘图,同时也具备三维建模能力。因此,CAD在地形图、地籍图绘制中应用广泛。
在进行大型工程设计时,通常需要在地形图及/地籍图上设计。然而,业主所提供的地形图、地籍图等很可能存在着两种不同坐标系。此外,在一些道路延伸段设计时,可能面临跨越两幅地形图的情况。由此,这就需要将两幅地形图转换成统一坐标系下的坐标,需要进行平移、旋转、尺度比等一些参数转换。再者,当涉及到同一椭球下高斯投影换带,不仅仅是转换参数问题了,需要做的是高斯正反算。
尽管CAD提供多种软件接口,可以方便的将设计数据和图形在多个软件中共享,并且在二次开发方面,CAD提供多种方式使得用户可以开发出适合自己使用的功能,其开放的平台包括AutoLISP、LISP、ARX、Visual BASICA等语言。但前述的转换并不能在CAD中直接完成。另外,CAD提供的坐标转换功能通常是线性模型,不能满足四参数等非线性严密转换。
因此,业界需要一种基于CAD的地图信息转换方法,其能够对CAD格式的地图信息进行快速、准确的坐标转换。
发明内容
因此,本发明旨在提供一种基于CAD的地图信息转换方法,其能够对CAD格式的地图信息进行快速、准确的坐标转换。
本发明的一个方面为一种基于CAD的地图信息转换方法,其将具有第一坐标系下坐标的第一地图信息转换为具有第二坐标系下坐标的第二地图信息,包括如下步骤:(a)通过选择集选择所述第一地图信息中的所有实体对象;(b)获取所述实体对象需要更新的属性;(c)根据所述需要更新的实体的属性,对所述实体进行坐标转换;(d)对所述经坐标转换的实体的属性进行赋值并根据所述属性更新所述实体。
一些实施例中,所述步骤(a)包括:定义选择集变量,并在CAD文档中添加一个选择集;设置所述选择集的筛选参数;及所述选择集完成选择任务后,删除相应选择集。
一些实施例中,所述选择集参数包括:需所述选择集过滤的类型及数据。
一些实施例中,所述步骤(b)包括:通过确定所述各实体的名称,并且比所述较各实体的类名来获取所述实体对象需要更新的属性。
一些实施例中,在获取所述实体的属性时,所述实体的点坐标为二维坐标或三维坐标。
一些实施例中,所述坐标转换包括:平面四参数转换及/或投影换带转换。
一些实施例中,当进行所述投影换带转换时,所述第一坐标系等于所述第二坐标系。
根据本发明的转换方法,基于地图中的实体,根据所述实体的名称,对实体的属性进行更新,从而可在不同的坐标系下进行转换。
以下结合附图,通过示例说明本发明主旨的描述,以清楚本发明的其他方面和优点。
附图说明
结合附图,通过下文的详细说明,可更清楚地理解本发明的上述及其他特征和优点,其中:
图1为示出根据本发明实施例的转换方法的流程图。
图2为图形转换前后的对比示意图。
具体实施方式
参见本发明一具体实施例的附图,下文将更详细地描述本发明。然而,本发明可以以许多不同形式实现,并且不应解释为受在此提出之实施例的限制。相反,提出这些实施例是为了达成充分及完整公开,并且使本技术领域的技术人员完全了解本发明的范围。
现参考附图详细说明本发明的实施例。
如图1所示,根据本发明的基于CAD的地图信息转换方法,其将具有第一坐标系下坐标的第一地图信息转换为具有第二坐标系下坐标的第二地图信息。
步骤S101中,通过选择集选择所述第一地图信息中的所有实体对象。
具体地,首先,定义选择集变量,并在CAD文档中添加一个选择集。其次,设置所述选择集的筛选参数。所述选择集参数包括需所述选择集过滤的类型及数据。最后所述选择集完成选择任务后,删除相应选择集。
步骤S103中,获取所述实体对象需要更新的属性。具体地,通过确定所述各实体的名称,并且比较所述各实体的类名来获取所述实体对象需要更新的属性。
在步骤S103选择完所有实体后,将所述每一个实体的类名与预定类集合进行对比,当实体名称与所述类集合中任一个实体名称相符时,就对应地按照预定属性集合中取出与所述实体的属性。换言之,就是对所有实体做搜寻工作,把所有实体的属性按照所述属性集合对应地进行更新。所述预定类集合相对于下文的表1,所述属性集合相对于下文的表2。
此外,在获取所述实体的属性时,所述实体的点坐标为二维坐标或三维坐标。
步骤S105中,根据所述需要更新的实体的属性,对所述实体进行坐标转换。所述坐标转换包括:平面四参数转换及/或投影换带转换。并且,当进行所述投影换带转换时,所述第一坐标系等于所述第二坐标系。
由于每一个实体的属性都有很多,并非实体的所有属性均需更新。挑选实体中需要更新的属性进行更新,其标准在于:选择的属性要能确定该实体在CAD中几何位置。比如圆,需要半径以及圆心位置两个属性。其余不相关的都不选。
另外,CAD中对属性的选择也有自己的规则,比如圆弧,要想确定圆弧的位置,CAD里面规定需要起点、终点以及圆心,但是在更新属性时,需要更新的属性就为半径、起始角以及结束角以及圆心。
选择的属性个数也有一定要求,能确定几何位置的最少属性个数,即为选择属性的个数。
步骤S107中,对所述经坐标转换的实体的属性进行赋值并根据所述属性更新所述实体。
现以本发明实施例以AutoCAD和C#为例说明根据本发明的转换方法的具体实现。本领域的技术人员应理解,本发明不限于此,还可包括其他CAD的实现方法,以及其他实现代码。
AutoCAD图形是由许多个实体图元组合而成,其对象实体个数有几十种,在设计工作中,并不是每个实体都能用到,常用的大概有十几种。不同的实体具有各自的属性,在图形转换时,需要对实体的进行更新,而不是单纯的对整个图形进行平移、旋转,因为线性转换不能严密的对图形实施转换。
因此,首先需要研究AutoCAD每个实体的AcDb类名及其属性、方法等。表1中列举出了AutoCAD常用实体AcDb类名、C#类名以及该实体的中文描述。每个实体的AcDb类名以及其具体属性值可以通过命令“(entget(car(entsel)))”查询。
表1常用实体AcDb类名及描述
现具体描述根据本发明的转换方法的实例。
第一步,添加AutoCAD的引用AutoCAD 2008 Type Library和AutoCAD/ObjectDBX Common 17.0 Type Library两个dll库。
第二步,定义AutoCAD对象接口以及AutoCAD文件变量。程序代码如下所示:
Autodesk.AutoCAD.Interop.AcadApplicationAcadApp;
Autodesk.AutoCAD.Interop.AcadDocument AcadDoc;
第三步,判断当前AutoCAD应用程序是否打开。首先判断当前CAD应用程 序是否已打开,如果已启动,则先关闭无关的CAD程序。具体代码实现:
第四步,创建一个新的CAD应用程序(AcadApp=newAcadApplication();)。并设置CAD应用程序为不可见(AcadApp.Visible=false;)。并打开需要处理的图形转换文件(AcadDoc=AcadApp.Documents.Open(savePath,null,null);)。
第五步,通过选择集选择图形中所有实体对象。选择集选择对象主要通过AcadSelectionSet接口实现。创建选择集主要包括三个步骤:首先定义选择集变量,并在CAD文档中添加一个选择集;然后设置选择集的筛选参数;最后,选择集完成选择任务后,删除相应选择集。
定义选择集变量:AcadSelectionSet mySelectionSet;
在CAD文档中添加一个选择集:
mySelectionSet=AcadDoc.SelectionSets.Add("NewSelectionSet01");
设置选择集的筛选参数:
Int16[]FilterType=newInt16[1];
object[]FilterData=newobject[1];
FilterType[0]=0;
FilterData[0]="*";
double[]point01=newdouble[3];
double[]point02=newdouble[3];
point01[0]=0;point01[1]=0;point01[2]=0;
point02[0]=1000;point02[1]=1000;point02[2]=0;
mySelectionSet.Select(AcSelect.acSelectionSetAll,point01,point02,FilterType,FilterData);
上述程序代码中:FilterType和FilterData分别表示选择集过滤的类型及数据。由于FilterType[0]=0,所以FilterData[0]的值应为图形对象类型,上述程序中“*”为通配符,即表示为任何图形对象。另外mySelectionSet.Select()方法中选择模式设置为acSelectionSetAll,表示选择全部对象,通过上述程序,可以选出图形中所有的实体。最后,完成所有操作后,将选择集删除,语句为:
AcadDoc.SelectionSets.Item("NewSelectionSet01").Delete();
第六步,确定每一个实体的名称,比较实体的类名。CAD中实体较多,常用的实体名称有AcDbPolyline、AcDbPoint、AcDbCircle、AcDbText、AcDbMText、AcDbArc、AcDbMInsertBlock、AcDbBlockReference、AcDbLine、AcDb2DPolyline、AcDb3DPolyline、AcDbEllipse、AcDbHatch、AcDbHatch、AcDbSpline、AcDbSolid、AcDbRadialDimension、ACDBRotatedRimension、AcDbAlignedDimension等,本文主要对这些常用实体进行分析与处理。
具体地,第五步选择完所有实体后,需要对上述每一个实体的类名与表一中类名进行对比,当实体名称与表一中任一个实体名称相符时,就对应地按照表二取出该实体的属性。就是对所有实体做搜寻工作,把所有实体的属性按照表二对应地进行更新。
第七步,获取实体需要更新的属性。不同的实体获取的属性不同。具体需要获取的属性见下表:
表2实体需要更新属性
由于每一个实体的属性都有很多,并非实体的所有属性均需更新。挑选实体中需要更新的属性进行更新,其标准在于:选择的属性要能确定该实体在CAD中几何位置。比如圆,需要半径以及圆心位置两个属性。其余不相关的都不选。
另外,CAD中对属性的选择也有自己的规则,比如圆弧,要想确定圆弧的位置,CAD里面规定需要起点、终点以及圆心,但是在更新属性时,需要更新的属性就为半径、起始角以及结束角以及圆心。
选择的属性个数也有一定要求,能确定几何位置的最少属性个数,即为选择属性的个数。
第八步,坐标转换。CAD图形转换程序中主要包括两个常用转换函数:平面四参数转换以及投影换带转换。
第九步,对实体属性赋值并更新实体。在第七步中,每个实体取出的属性不同,所以每个实体需要赋值的属性也不同。具体可以参照下表:
表3实体赋值属性
通过与表2对比,可以发现存在一些实体,其更新前属性与坐标转换后赋值属性不同。另外,AcdbText实体具有InsertionPoint、TextAlignmentPoint、Alignment等属性,在更新属性之前,需要对Text的对齐类型进行判断,当文字的对齐方式(Alignment属性来指定)是acAlignmentLeft(左对齐),只需使用InsertionPoint属性修改文字的位置;如果文字的对齐方式是acAlignmentAligned或acAlignmentFit,同时使用InsertionPoint和TextAlignmentPoint属性修改文字的位置;如果不是以上三种,则使用TextAlignmentPoint修改文字位置。
AcdbHatch,由于图案填充具有关联对象的属性,所以在被填充对象更新后只需对Hatch进行更新即可。表格中“N”表示没有属性需要更新。
在获取实体属性时,有的实体获取的点坐标是二维坐标,有的实体获取的点坐标是三维坐标,在编写程序时要注意判断。
实体所有属性赋值完成后,还需要对实体进行更新,才能完成图形的转换工作。即mySelectionSet.Item(i).Update();
第十步,图形处理完成后,对其保存、关闭、退出。对应程序语句为:
AcadApp.ActiveDocument.SaveAs(savepath,AcSaveAsType.ac2000_dwg,null);
AcadDoc.Close("TRUE",AcadDoc.FullName);
AcadApp.Quit();
AcadApp.ActiveDocument.SaveAs()方法表示cad文件另存为,第一个参数表示另存为路径,第二个参数表示保存的cad版本格式,ac2000_dwg表示保存为2000cad、dwg格式文件。
现参考图2描述根据本发明的转换方法的实例。
根据上述实现方法,在某工程项目中,由于业主提供的原始资料坐标有54系、中央子午线为118.5度、1.5度分带下高斯投影坐标,以及西安80坐标系、中央子午线为117度、6度投影分带下高斯投影坐标,为满足设计需求,须将坐标系统一为西安80系、中央子午线为118.5度、1.5度投影下高斯投影坐标。
具体转换分为两步:54、118.5度转80、117度,该转换利用公共点求解四参数进行转换;80、117度转80、118.5度,该转换利用高斯投影正反算进行转换。具体cad图形转换过程见上述程序。
不同坐标之间转换结果如图2所示,图2中左图为54系118.5度的平面图,右图为80系117度平面图。如图2所示,转换结果与实际地形相符,设计段与道路已存在段吻合较好,满足道路设计需求。
本发明具有如下优点:
(1)根据本发明的转换方法,基于地图中的实体,根据所述实体的名称和属性进行更新,从而可在在不同的坐标系下进行转换。
(2)根据本发明的转换方法实现了CAD图形非线性转换具有实用价值,满足了一些工程设计、规划的需求。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种基于CAD的地图信息转换方法,其将具有第一坐标系下坐标的第一地图信息转换为具有第二坐标系下坐标的第二地图信息,包括如下步骤:
(a)通过选择集选择所述第一地图信息中的所有实体对象;
(b)获取所述实体对象需要更新的属性;
(c)根据所述需要更新的实体的属性,对所述实体进行坐标转换;
及
(d)对所述经坐标转换的实体的属性进行赋值并根据所述属性更新所述实体。
2.如权利要求1所述的方法,其特征在于,所述步骤(a)包括:
--定义选择集变量,并在CAD文档中添加一个选择集;
--设置所述选择集的筛选参数;及
--所述选择集完成选择任务后,删除相应选择集。
3.如权利要求2所述的方法,其特征在于,所述选择集参数包括:需所述选择集过滤的类型及数据。
4.如权利要求1所述的方法,其特征在于,所述步骤(b)包括:通过确定所述各实体的名称,并且比所述较各实体的类名与预定的类集合来获取所述实体对象需要更新的属性。
5.如权利要求1所述的方法,其特征在于,所述步骤(c)包括:在所述需要更新的实体的属性中,选择某些属性进行更新。
6.如权利要求5所述的方法,其特征在于,所选择之属性能确定所述实体在CAD中几何位置。
7.如权利要求6所述的方法,其特征在于,所选择之属性个数为能确定所述几何位置的最少属性个数。
8.如权利要求4所述的方法,其特征在于,在获取所述实体的属性时,所述实体的点坐标为二维坐标或三维坐标。
9.如权利要求1所述的方法,其特征在于,所述步骤(c)中,所述坐标转换包括:平面四参数转换及/或投影换带转换。
10.如权利要求6所述的方法,其特征在于,当进行所述投影换带转换时,所述第一坐标系等于所述第二坐标系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102815737A CN102831264A (zh) | 2012-08-09 | 2012-08-09 | 基于cad的地图信息转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012102815737A CN102831264A (zh) | 2012-08-09 | 2012-08-09 | 基于cad的地图信息转换方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102831264A true CN102831264A (zh) | 2012-12-19 |
Family
ID=47334399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012102815737A Pending CN102831264A (zh) | 2012-08-09 | 2012-08-09 | 基于cad的地图信息转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102831264A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970919A (zh) * | 2013-02-04 | 2014-08-06 | 上海市城市建设设计研究总院 | 用于自动建筑信息建模的数据处理方法 |
CN109408601A (zh) * | 2018-09-19 | 2019-03-01 | 智器云南京信息科技有限公司 | 基于图数据的数据模型转换方法及图数据结构转换器 |
CN111414701A (zh) * | 2020-03-26 | 2020-07-14 | 广西防城港核电有限公司 | 用于提取cad文件元素并转换相对坐标的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595067A (zh) * | 2004-06-23 | 2005-03-16 | 武汉虹信通信技术有限责任公司 | 导航系统中的一种快速地理坐标投影转换方法 |
-
2012
- 2012-08-09 CN CN2012102815737A patent/CN102831264A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1595067A (zh) * | 2004-06-23 | 2005-03-16 | 武汉虹信通信技术有限责任公司 | 导航系统中的一种快速地理坐标投影转换方法 |
Non-Patent Citations (2)
Title |
---|
苏铁柱 等: "基于AutoCAD的动态坐标转换的快速实现", 《测绘通报》 * |
郑敏辉 等: "数字地形图坐标转换工具的设计与实现", 《测绘技术装备》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970919A (zh) * | 2013-02-04 | 2014-08-06 | 上海市城市建设设计研究总院 | 用于自动建筑信息建模的数据处理方法 |
CN109408601A (zh) * | 2018-09-19 | 2019-03-01 | 智器云南京信息科技有限公司 | 基于图数据的数据模型转换方法及图数据结构转换器 |
CN111414701A (zh) * | 2020-03-26 | 2020-07-14 | 广西防城港核电有限公司 | 用于提取cad文件元素并转换相对坐标的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
El-Mehalawi et al. | A database system of mechanical components based on geometric and topological similarity. Part I: representation | |
Maróti et al. | Next generation (meta) modeling: web-and cloud-based collaborative tool infrastructure. | |
Borrmann et al. | Specification and implementation of directional operators in a 3D spatial query language for building information models | |
Camara et al. | TerraLib: Technology in support of GIS innovation | |
US10255383B2 (en) | Rule based three-dimensional (3D) intersection model | |
JP5237837B2 (ja) | 空間データ管理装置、空間データ管理方法、および、空間データ管理プログラム | |
Borrmann et al. | Implementing metric operators of a spatial query language for 3D building models: octree and B-Rep approaches | |
CN105701104A (zh) | 一种基于地理信息的三维数据引擎系统 | |
CN102339295B (zh) | Sql脚本的结构化元数据生成方法及数据地图生成方法 | |
CN102750419A (zh) | 一种地铁综合管线辅助设计系统及设计方法 | |
Beetz et al. | Interoperable data models for infrastructural artefacts–a novel IFC extension method using RDF vocabularies exemplified with quay wall structures for harbors | |
US11281817B2 (en) | Systems and methods for generating programmatic designs of structures | |
EP3427167B1 (en) | Method for providing details to a computer aided design (cad) model, a computer program product and a server therefore | |
WO2024108580A1 (zh) | 多维参数化城市信息模型构建方法、系统及计算机设备 | |
CN102831264A (zh) | 基于cad的地图信息转换方法 | |
Visconti et al. | Model-driven engineering city spaces via bidirectional model transformations | |
Feng et al. | A hybrid and automated approach to adapt geometry model for CAD/CAE integration | |
Alvarado et al. | Multilevel modeling of geographic information systems based on international standards | |
Egenhofer et al. | Interacting with GIS | |
EP2698734A2 (en) | Model for managing variations in a product structure for a product | |
Gröger et al. | Representation of a 3-D city model in spatial object-relational databases | |
CN116152451A (zh) | 多维参数化城市信息模型构建方法、系统及计算机设备 | |
Tang et al. | Fundamental concepts of generic features | |
CN103823922A (zh) | 设计对象的圆形交错图案 | |
Shin et al. | Integration of heterogeneous CAD databases using STEP and the Internet |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121219 |