1.业务流程说明
目的是通过dwg图纸,在网页端绘制出一个包括建筑外轮了的白模。为了达到这个目的,我们需要dwg图纸识别,提取到图纸中的建筑外轮廓的坐标数据。

2. 实施步骤
1.1 根据dwg图纸,转换成dxf文件,通过对dxf文件进行图纸数据的识别,我们可以提取到某个图层的建筑外轮廓坐标数据,这样获取到 xy坐标。
1.2 第二步通过提取dwg图纸上的层高,楼栋高数据 (目前这里有难点,还无法直接提取到层高信息),这样获取到Z坐标。
1.3 考虑到上面第二步层高无法直接提取,目前我们先人为手动设置层高、楼栋高的数据,手动设置z坐标数据。
1.4 根据一个目前给定的经纬度坐标,计算上面提取到的(x,y,z)坐标对应的 经纬度坐标。
1.5 将以上的 经纬度坐标数据组织成JSON数据格式,输出。
3. 提取建筑外轮廓坐标数据
服务端api接口如下:
1. URL
URL : http://10.4.36.18:8080/dwg/info/point
Method: GET
2. 请求(Request)
2.1 Header Parameter
| key | value | 示例 |
|---|---|---|
2.2 request body
3 响应(Response Body)
{
code: "success",
message: null,
data: [{
key: 1,
descr: "lwpolyline",
value: [
{
layerId: null,
layerName: "建筑外框线",
id: "72",
points: [{
x: 2258872.461915106,
y: 377838.6027036026,
z: 0
},
{
x: 2259574.279442868,
y: 378321.4390936333,
z: 0
},
{
x: 2232878.39412605,
y: 377857.5367418375,
z: 0
},
{
x: 2242284.052615609,
y: 377850.6856749441,
z: 0
},
{
x: 2242285.847562862,
y: 380314.9238285401,
z: 0
},
{
x: 2248475.845920768,
y: 380310.4150433933,
z: 0
},
{
x: 2248474.050973515,
y: 377846.1768897974,
z: 0
},
{
x: 2258934.910048937,
y: 377838.5572164111,
z: 0
}],
blockName: null
},
{
layerId: null,
layerName: "建筑外框线",
id: "56",
points: [
{
x: 2242285.847562862,
y: 380314.9238285401,
z: 0
},
{
x: 2248475.845920768,
y: 380310.4150433933,
z: 0
},
{
x: 2248474.050973515,
y: 377846.1768897974,
z: 0
},
{
x: 2258934.910048937,
y: 377838.5572164111,
z: 0
}],
blockName: null
}]
}],
traceId: null
} |
3.1 Response Body 说明, data数据说明
| property | 类型 | 说明 |
|---|---|---|
| key | Integer | 从dwg图纸中提取的数据,所属类型。 比如1,表示多段线数据 |
| descr | String | 对上面key的描述。 比如 “lwpolyline” 表示多段线 |
| value | Array | |
| value.layerId | String | 图层id |
| value.layeName | String | 图层名称 |
| value.id | String | 每一个建筑外框线的id |
| value.points | Array | 组成多段线的坐标, xyz坐标数据 |



















