GIS二维电子地图开发总结

二维平面地图,目前支撑设备渲染,真实场景,后期电子围栏,运动轨迹等业务需求做铺垫
一、所涉及的技术栈:
1.Openlayers,加载渲染地图
2.Geoserver 发布wms和wfs()服务
3.Arcgis,Arcmap,进行源文件编辑修改,(点,线,面)空间校正和地理配准技术(处理png图片,为矢量瓦片tiff格式)
4.Udig,geoserver发布地图服务器的编辑样式工具,采用SID绘制样式
5.CAD处理提供的dwg源文件,部分注释以及多余的标注,点,线,面
6.Shape files 利用ArccataLog 数据转换坐标系
7.Igis渲染地图引擎,apache-tomcat部署Geoserver

二、源文件转化修改步骤:
1.利用arcmap转换dwg源文件,转换数据格式如图:
在这里插入图片描述
选择对应的输入文件源文件(dwg)格式,选择对应的文件夹,输入目录

2.利用arcmap修改Shape files源文件,修改数据如图:
在这里插入图片描述
点击加号,选择要修改的Shape files源文件,选中添加
三、Geoserver部署步骤(wms,wfs):
Geoserver是一个Server. 它是开源的,允许用户查看和编辑地理数据。这是地理信息系统(GIS) 领域。GeoServer 是符合OGC 规范的一个全功能的WFS-T 和WMS server。

1.安装apache-tomcat和下载Geoserver
2.解压Geoserver 至webapps目录下,启动apache-tomcat
3.通过部署的服务ip+端口(默认8080)+/geoserver/web/ 访问,默认用户名/密码(admin/geoserver)
在这里插入图片描述
ip+端口(8080)+/geoserver/web/访问
4.添加工作空间:注:(不要选择Isolated Workspace)
在这里插入图片描述
5.添加数据存储仓库:(可添加文件夹,图层上填充矢量图片,可添加geotiff)
在这里插入图片描述
6.新建图层(选择新增的数据存储)
在这里插入图片描述
7.新建图层组:(添加新建的图层)
在这里插入图片描述
8.利用udig配置样式style
在这里插入图片描述
9.layer preview图层预览查看部署效果
在这里插入图片描述
10.udig配置style
在这里插入图片描述
四、利用Openlayers,Igis渲染加载:

       GisMap() {
            var WMSurl = 'http://127.0.0.1:8080/geoserver/lhPublic/wms?service=WMS'
            this.mapObj = new window.iGis.GisMap()
            var options = {
                mapType: iGis.MapType.WMS_MAP,
                url: WMSurl,
                divId: 'Map',
                layerParams: {
                    VERSION: '1.1.1',
                    LAYERS: 'lhPublic:lhgis',
                },
                center: [116.349581,39.671403],
                zoom: this.mapLevel,
                minZoom: 18,
                maxZoom: 20,
                zoomType: 'small',
                projection: 'EPSG:4326',
                isScaleLine: this.showScaleLine == false ? false : true,
                isMousePosition: true,
                isZoomLevel: true,
                // isOverview: true,//左下角视图
                units: 'metric',
                wrapX: false
            }
            this.mapOption = options
            this.versionSwitch()
            this.mapObj.addCustomClickEvent((e) => {
                console.log(e, '地图位置信息')
                this.$emit('map-location', e)
                this.getMouseLOcation(e) //把点位信息发给父组件
                this.removePopup()
                if (this.allowShowLocationByClick && this.allowShowLocationByClick.value) {
                    // 点击增加点
                    const dataObj = [{ id: Math.random() * 1000000, anchor: [13, 13], src: '/images/theme/dark/map/position_red.png', coord: e }]
                    if (this.layerObj['locationPoint']) {
                        // this.layerObj.locationPoint.setData(dataObj, 0)
                        this.layerIcons.locationPoint = dataObj
                        this.layerObj.locationPoint.refreshLayerByData()
                    } else {
                        this.addMarket(dataObj, 'locationPoint')
                    }
                }
            })
            this.showFloorName()
            this.$emit('mapReady')

            this.animation = new window.iGis.maptools.Animation({
                gisMapObj: this.mapObj
            })

五、细谈空间校正和地理配准:
1:采用ArcMap进行校正和配准
在这里插入图片描述
图中空间校正:可帮助shp文件实际的获取正确的坐标系
地理配准:可帮助png文件获取地理坐标系,并且转为tiff文件,利用geoserver进行部署

注意事项:
1:顺序规则:点—线—面(由上而下)
2:经纬度规则:采用4326 – wg84
3: 样式文件发生改变后,图层组时不能立马生效的,需要把对应的图层删除,再添加进去方可生效。
4: 修改文件过程中,如发现缩放至可见图层不显示,可采用arcLog进行经纬度导入操作。
5:新增点线面,必须添加对应的属性,layer,refname属性,否则无法渲染展示
6:加载无法显示,排除问题思路:
1:中心点是否偏差过大
2:经纬度规则
3:是否遵循 空间命名::图层名称规则(这样形成的唯一KEY)
7:图片填充,路径正常,但是无法显示问题,是因为geoserver强缓存和style生成之后的发布导致,可以采用上面的图片导入按钮重新导入。
备份dwg源文件

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时间的情敌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值