CN113806830B - 基于WEB地图绘制室内地图GeoJSON数据的方法 - Google Patents
基于WEB地图绘制室内地图GeoJSON数据的方法 Download PDFInfo
- Publication number
- CN113806830B CN113806830B CN202111129101.5A CN202111129101A CN113806830B CN 113806830 B CN113806830 B CN 113806830B CN 202111129101 A CN202111129101 A CN 202111129101A CN 113806830 B CN113806830 B CN 113806830B
- Authority
- CN
- China
- Prior art keywords
- map
- drawn
- point
- clicking
- edge
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/20—Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
Abstract
本发明公开了一种基于WEB地图绘制室内地图GeoJSON数据的方法,包括如下步骤:1)在网页中显示需要绘制区域的平面地图;2)标记室内地图中的所有地点;3)绘制室内地图中的所有道路;4)绘制室内地图中的所有建筑物的俯视图,并设置高度;5)生成GeoJSON数据文件。这种方法使用简单,易操作,减轻了工作强度。
Description
技术领域
本发明涉及室内地图制作,具体是基于WEB地图绘制室内地图GeoJSON数据的方法。
背景技术
目前广泛使用的室内地图制作常用手段有:DSV建模、3Dmax建模、BIM建模和CAD地图编辑器建模。这些手段存在以下缺点:
1.建模难度高,需要掌握专业的建模知识和学习建模软件使用;
2.制作地图时间比较长;
3.生成的数据不支持跨平台使用。
发明内容
本发明的目的是针对现有技术的不足,提供一种基于WEB地图绘制室内地图GeoJSON数 据的方法。这种方法使用简单,易操作,减轻了工作强度。
实现本发明目的的技术方案是:
基于WEB地图绘制室内地图GeoJSON数据的方法,包括如下步骤:
1)在网页中显示需要绘制区域的平面地图:
1.1)在网页中引入并初始化Leaflet库;
1.2)添加Leaflet鼠标事件处理程序;
1.3)引入第三方地图接口,显示地图;
2)标记室内地图中的所有地点:
2.1)设置绘制模式为标记地点;
2.2)在地图上点击需要标记的地点,获取该处的经纬度;
2.3)记录地点经纬度坐标、名称和图标;
3)绘制室内地图中的所有道路:
3.1)设置绘制模式为画线;
3.2)在地图上点击一点作为起点;
3.3)把光标移动到下一个道路拐点绘制一段道路;
3.4)在鼠标移动过程中用虚线实时显示将要绘制的道路段;
3.5)当点击下一个道路拐点后,前一段绘制成功,绘制实线,开始下一段绘制;
3.6)重复步骤3.3)到步骤3.5)直到点击道路上最后一个点;
3.7)点击最后一个点完成道路的绘制;
3.8)记录道路经纬度坐标、名称和类型;
4)绘制室内地图中的所有建筑物的俯视图,并设置高度:
4.1)设置绘制模式为画多边形;
4.2)在地图上点击一点作为起点;
4.3)把光标移动到下一个多边形拐点绘制一个边;
4.4)在鼠标移动过程中用虚线实时显示将要绘制的边;
4.5)当点击下一个边拐点后,前一条边绘制成功,绘制实线,开始下一条边;
4.6)重复步骤4.3)到步骤4.5)直到点击最后一条边的起点;
4.7)最后点击第一条边的起点,也是最后一条边的终点完成绘制;
4.8)记录建筑物外形经纬度坐标、类型和高度;
5)生成GeoJSON数据文件:
5.1)遍历已绘制所有标记,然后生成GeoJSON中的点图形,在geometry属性中设置关键信 息:type设置成“Point”,coordinates设置经纬度坐标数据;
5.2)遍历已绘制所有道路,然后生成GeoJSON中的线段图形,在geometry属性中设置关键 信息:type设置成“LineString”,coordinates设置经纬度坐标数据;
5.3)遍历已绘制所有建筑物俯视图,然后生成GeoJSON中的多边形图形,在geometry属性 中设置关键信息:type设置成“Polygon”,coordinates设置经纬度坐标数据;
5.4将步骤5.1)至5.3)生成的文本数据合并在一起生成一个*.json文件。
本技术方案与现有技术相比,用户只需要使用网页即可绘制简易的3D室内地图数据, 无需掌握复杂的建模软件与过多的建模知识,大大地减少了在实际工作中的力度。
这种方法使用简单,易操作,减轻了工作强度。
附图说明
图1为实施例的流程示意图;
图2为实施例绘制的地点、道路和建筑物的示意图;
图3为实施例渲染后的3D室内地图示意图;
图4为实施例中绘制工具示意图;
图5为实施例中标记地点示意图;
图6为实施例中绘制道路的示意图;
图7为实施例中绘制建筑物的示意图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述,但不是对本发明的限定。
实施例:
参照图1,基于WEB地图绘制室内地图GeoJSON数据的方法,包括如下步骤:
1)在网页中显示需要绘制区域的平面地图,如图4所示:
1.1)在网页中引入Leaflet插件与绘制插件:
<script src="leaflet/leaflet.js"></script>
<script src="drawcontrol.js"></script>;
初始化Leaflet,即在脚本执行区域初始化地图:
let map=L.map(“map”,options);
1.2)添加Leaflet鼠标点击与移动事件处理程序:
map.on('click',function(e){…});
map.on(‘mousemove’,function(e){…});
1.3)引入第三方地图接口,显示地图:
let mapboxUrl1=
'https://api.mapbox.com/styles/v1/mapbox/streets-v11/tiles/256/{z}/{x}/{y}%3Faccess_token=pk.e yJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXFhYTA2bTMyeW44ZG0ybXBkMHkifQ.gUGbDOPU N1v1fTs5SeOR4A'
let layer=L.tileLayer(mapboxUrl1,{maxZoom:22})
layer.addTo(map);
2)标记室内地图中的所有地点,如图5所示:
2.1)点击标记图标进入“标记”绘制模式;
2.2)在地图上点击需要标记的地点,接着点击鼠标左键,获取该处的经纬度;
2.3)记录地点名称和图标并在地图上显示标记点;
3)绘制室内地图中的所有道路,如图6所示:
3.1)设置绘制模式为画线;
3.2)在地图上点击一点作为起点;
3.3)把光标移动到下一个道路拐点绘制一段道路;
3.4)在鼠标移动过程中用虚线实时显示将要绘制的道路段;
3.5)当点击下一个道路拐点后,前一段绘制成功,绘制实线,开始下一段绘制;
3.6)重复步骤3.3)到步骤3.5)直到点击道路上最后一个点;
3.7)点击最后一个点完成道路的绘制,记录所有地图上点击的点的经纬度,构成一个集合 Line,集合Line可在地图上显示为一条直线;
3.8)记录道路经纬度坐标、名称和类型;
4)绘制室内地图中的所有建筑物的俯视图,并设置高度,如图7所示:
4.1)设置绘制模式为画多边形;
4.2)在地图上点击一点作为起点;
4.3)把光标移动到下一个多边形拐点绘制一个边;
4.4)在鼠标移动过程中用虚线实时显示将要绘制的边;
4.5)当点击下一个边拐点后,前一条边绘制成功,绘制实线,开始下一条边;
4.6)重复步骤4.3)到步骤4.5)直到要点击最后一条边的起点;
4.7)最后点击第一条边的起点,也是最后一条边的终点完成绘制,然后记录所有在地图上点 击的点的经纬度,构成一个集合Polygon,集合Polygon可在地图上显示为一个多边形;
4.8)记录建筑物外形经纬度坐标、类型和高度;
5)生成GeoJSON数据文件:
5.1)遍历已绘制所有标记,然后生成GeoJSON中的点图形,在geometry属性中设置关键信 息:type设置成“Point”,coordinates设置经纬度坐标数据;
5.2)遍历已绘制所有道路,然后生成GeoJSON中的线段图形,在geometry属性中设置关键 信息:type设置成“LineString”,coordinates设置经纬度坐标数据;
5.3)遍历已绘制所有建筑物俯视图,然后生成GeoJSON中的多边形图形,在geometry属性 中设置关键信息:type设置成“Polygon”,coordinates设置经纬度坐标数据;
5.4将步骤5.1)至5.3)生成的文本数据合并在一起生成一个*.json文件;
数据示例如下:
如图2所示。
然后将GeoJSON数据由3D地图经引擎加载后渲染并显示,如图3所示。
Claims (1)
1.基于WEB地图绘制室内地图GeoJSON数据的方法,其特征在于,包括如下步骤:
1)在网页中显示需要绘制区域的平面地图:
1.1)在网页中引入并初始化Leaflet库;
1.2)添加Leaflet鼠标事件处理程序;
1.3)引入第三方地图接口,显示地图;
2)标记室内地图中的所有地点:
2.1)设置绘制模式为标记地点;
2.2)在地图上点击需要标记的地点,获取该处的经纬度;
2.3)记录地点名称和图标;
3)绘制室内地图中的所有道路:
3.1)设置绘制模式为画线;
3.2)在地图上点击一点作为起点;
3.3)把光标移动到下一个道路拐点绘制一段道路;
3.4)在鼠标移动过程中用虚线实时显示将要绘制的道路段;
3.5)当点击下一个道路拐点后,前一段绘制成功,绘制实线,开始下一段绘制;
3.6)重复步骤3.3)到步骤3.5)直到点击道路上最后一个点;
3.7)点击最后一个点完成道路的绘制;
3.8)记录道路名称和类型;
4)绘制室内地图中的所有建筑物的俯视图,并设置高度:
4.1)设置绘制模式为画多边形;
4.2)在地图上点击一点作为起点;
4.3)把光标移动到下一个多边形拐点绘制一个边;
4.4)在鼠标移动过程中用虚线实时显示将要绘制的边;
4.5)当点击下一个边拐点后,前一条边绘制成功,绘制实线,开始下一条边;
4.6)重复步骤4.3)到步骤4.5)直到点击最后一条边的起点;
4.7)最后点击第一条边的起点,也是最后一条边的终点完成绘制;
4.8)记录建筑物类型和高度;
5)生成GeoJSON数据文件:
5.1)遍历已绘制所有标记,然后生成GeoJSON中的点图形,在geometry属性中设置关键信息:type设置成“Point”, coordinates设置经纬度坐标数据 ;
5.2)遍历已绘制所有道路,然后生成GeoJSON中的线段图形,在geometry属性中设置关键信息:type设置成“LineString”, coordinates设置经纬度坐标数据 ;
5.3)遍历已绘制所有建筑物俯视图,然后生成GeoJSON中的多边形图形,在geometry属性中设置关键信息:type设置成“Polygon”, coordinates设置经纬度坐标数据 ;
5.4将步骤5.1)至5.3)生成的文本数据合并在一起生成一个*.json文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111129101.5A CN113806830B (zh) | 2021-09-26 | 2021-09-26 | 基于WEB地图绘制室内地图GeoJSON数据的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111129101.5A CN113806830B (zh) | 2021-09-26 | 2021-09-26 | 基于WEB地图绘制室内地图GeoJSON数据的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113806830A CN113806830A (zh) | 2021-12-17 |
CN113806830B true CN113806830B (zh) | 2023-05-16 |
Family
ID=78938498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111129101.5A Active CN113806830B (zh) | 2021-09-26 | 2021-09-26 | 基于WEB地图绘制室内地图GeoJSON数据的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806830B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017006223A1 (en) * | 2015-07-08 | 2017-01-12 | Nivi Group S.P.A. | Graphic engine for creating and executing applications with multisensory interfaces |
CN107369198A (zh) * | 2017-08-05 | 2017-11-21 | 中山大学 | 一种用于ARCGIS Web地图的多折线绘制方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8694603B2 (en) * | 2011-06-20 | 2014-04-08 | International Business Machines Corporation | Geospatial visualization performance improvement for contiguous polylines with similar dynamic characteristics |
CA2876953A1 (en) * | 2015-01-08 | 2016-07-08 | Sparkgeo Consulting Inc. | Map analytics for interactive web-based maps |
-
2021
- 2021-09-26 CN CN202111129101.5A patent/CN113806830B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017006223A1 (en) * | 2015-07-08 | 2017-01-12 | Nivi Group S.P.A. | Graphic engine for creating and executing applications with multisensory interfaces |
CN107369198A (zh) * | 2017-08-05 | 2017-11-21 | 中山大学 | 一种用于ARCGIS Web地图的多折线绘制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113806830A (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11380057B2 (en) | Generating technical drawings from building information models | |
US11182513B2 (en) | Generating technical drawings from building information models | |
EP2748738B1 (en) | Method of creating a snap point in a computer-aided design system | |
US9076261B2 (en) | Virtual drafting tools | |
JP2005228339A (ja) | フリーフォーム注釈を支援する方法、システム、及び、プログラム | |
CN103793178B (zh) | 一种移动设备触摸屏中矢量图形编辑方法 | |
CN103077026A (zh) | 一种在操作系统的桌面环境下进行书写的方法 | |
WO2020167562A1 (en) | Generating technical drawings from building information models | |
CN113806830B (zh) | 基于WEB地图绘制室内地图GeoJSON数据的方法 | |
JP6040873B2 (ja) | 情報処理装置、情報処理方法およびコンピュータ読み取り可能な記録媒体 | |
CN107168633B (zh) | 一种基于数据依赖的手势交互查询事件构建方法 | |
CN112799583A (zh) | 一种基于android平台的点位示意图绘制系统 | |
US20230185984A1 (en) | Generating Technical Drawings From Building Information Models | |
CN114511653A (zh) | 具有自动符号检测的进度跟踪 | |
KR20120089153A (ko) | 도로 설계 도면 생성 방법 | |
CN110751896A (zh) | 一种矿山等值线相关专题图绘制等值线注记的方法和装置 | |
CN106648279A (zh) | 一种数据处理的方法和设备 | |
KR100550267B1 (ko) | 현황도 자동 작성 방법 | |
EP4073624B1 (en) | Systems and methods for grid-aligned inking | |
JPH10222689A (ja) | 図形表示方法及び装置及び図形表示プログラムを格納した記憶媒体 | |
JP3387561B2 (ja) | 図形編集システムにおける三角形の作成方式 | |
McCarthy | AutoCAD express | |
Baumback | Module 4 Sketching Lines | |
Rizayev | Effective Using of Auto Cad Graphic Program during the Lessons of Descriptive Geometry, Suggestions and Recommendations | |
JP3788466B2 (ja) | 図作成装置および図作成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |