autocad文件(dxf、dwg)发布到 Geoserver作为地图图层

目录

一、Geoserver服务运行

二、dwg文件转dxf

三、dxf转shp

四、shp转文件查看

五、shp文件style设置

六、shp文件导入到Geoserver

七、open Layer 展示

本博客中涉及的操作只适用于,OpenStreetMap数据源,其他数据源需要融汇贯通。

准备环境

一、Geoserver服务运行

java sdk、tomcat、Geoserver

具体配置过程参见:

在windows环境下配置GeoServer

二、dwg文件转dxf

工具软件:Autodesk AutoCAD 2016

Autodesk AutoCAD 2016插件:Arcgis for AutoCAD

这一步主要的目的是转化格式和坐标。

1.使用AutoCAD打开文件、去掉多余的图层和信息

2.加载ArcGIS for AutoCAD调整坐标和文件大小

(1)加载过程及操作参见

ArcGIS for AutoCAD轻松实现ArcGIS 与 AutoCAD互操作

(2)分配坐标。这一步很关键,关系到与原有的shp文件是否在同一坐标系。

本博客采用的坐标系ESPG:900913(来自原有的shp文件,open street map导出的shp文件和osm文件采用的就是这一坐标系)

(3)选择坐标系。

  选择ArcGIS for AutoCAD安装目录 D:\Program Files\ArcGIS for AutoCAD 355\Coordinate Systems\Projected Coordinate Systems\World 下的WGS 1984 Web Mercator.prj

 坐标说明参见  https://www.cnblogs.com/arxive/p/6103358.html?utm_source=itdadao&utm_medium=referral

(4)选择地图类型,选择world Imagery

(5)地图导入后的效果,如果一开始看不到地图,就缩放地图。此时AutoCAD的坐标原点与之前选择的地理坐标原点重合。(ESPG:900913的坐标原点在非洲西部的大西洋中)

(6)整体显示

(6)平移图形到目标位置,并缩放图形至目标大小。

(7)保存文件为dxf或者dwg格式。

三、dxf或者dwg转shp

工具:QGIS 3.4.1

(1)导入dxf或者dwg,如果在Project中没有看到Import/Export -> Import Layers from dwg/dxf ,那么跳到(2)为QGIS添加插件  “DXF Importer /DXF2Shp ”

不记得该功能是软件自带,还是插件新增的。

(2)添加插件DXF Importer /DXF2Shp。在plugins|installed 窗口中 搜索安装 该插件

(3)导入配置填写如图,我的图层取名为“EPSG:900913room”.

我导入dwg文件的时候报错,丢掉了一些需要显示的内容,导入dxf时没有报错。

(4)导入以后,软件左下方出现图层。选中新导入的图层并右击,选择“Zoom to Group ”或者“Zoom to Layer”。

显示效果如图,图片中同时显示了Open Street Map 的 gis_osm_roads_free_1.shp 文件作为参照。

对比效果

(4)导出为shp文件 右击图层 选择 Export -> Save Feature AS ... 弹出下图对话框

将gruop下的各个图层导出到shp文件

(4)文件

四、shp转文件查看

工具:uDig

uDig,不仅是shp文件查看工具跟重要的是,设计渲染样式的工具

具体操作参见

如何用uDig美化地图并发布到GeoServer

https://blog.csdn.net/coderwait/article/details/80453162

五、shp文件style设置

同上

六、shp文件导入到Geoserver

具体操作见 如何用uDig美化地图并发布到GeoServer

(1)图层发布时,坐标系选择。

发布完成后显示。

七、Openlayers 展示

(1)显示结果。蓝色的线条为Geoserver服务提供的数据,我在Geoserver中导入了Open steet map的道路(OSM)数据 一并显示出来了,蓝色的小方块是dwg的文件内容

显示效果较差主要是因为图层的style文件没有配置

整体效果,open Street map 中 中国的数据没有台湾和藏南

(2)OpenLayers3  html 源码。

<!DOCTYPE html>
<html>
  <head>
    <title>Tiled WMS</title>
    <link rel="stylesheet" href="https://openlayers.org/en/v3.20.1/css/ol.css" type="text/css">
    <!-- The line below is only needed for old environments like Internet Explorer and Android 4.x -->
    <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>
    <script src="https://openlayers.org/en/v3.20.1/build/ol.js"></script>
  </head>
  <body>
    <div id="map" class="map"></div>
    <script>
      var layers = [
		//OpenSteetMap地图来源网络
        new ol.layer.Tile({
          source: new ol.source.OSM()
        }),
		//OpenSteetMap 道路图层
		new ol.layer.Tile({
          //extent: [-13884991, 2870341, -7455066, 6338219],
          source: new ol.source.TileWMS({
			url: ‘http://localhost:8080/geoserver/wms‘,
			params: {‘LAYERS‘: ‘china:planet_osm_roads_big‘, ‘TILED‘: true},
			serverType: ‘geoserver‘
          })
        }),
		//dxf文件的图层
		new ol.layer.Tile({
        //  extent: [-13884991, 2870341, -7455066, 6338219],
          source: new ol.source.TileWMS({
            url: ‘http://192.168.0.157:8080/geoserver/wms‘,
            params: {‘LAYERS‘: ‘chinaoutline:lines‘, ‘TILED‘: true},
           serverType: ‘geoserver‘
          })
        }),
		new ol.layer.Tile({
        //  extent: [-13884991, 2870341, -7455066, 6338219],
          source: new ol.source.TileWMS({
            url: ‘http://192.168.0.157:8080/geoserver/wms‘,
            params: {‘LAYERS‘: ‘chinaoutline:polylines‘, ‘TILED‘: true},
           serverType: ‘geoserver‘
          })
        })
      ];
      var map = new ol.Map({
        layers: layers,
        target: ‘map‘,
        view: new ol.View({
          center: [12590580.877,3254259.398 ],//以自己文件的坐标为中心
          zoom: 10
        })
      });
    </script>
  </body>
</html>

  

原文地址:https://www.cnblogs.com/lianshanIn17/p/10255694.html

时间: 2024-07-31 19:01:50

autocad文件(dxf、dwg)发布到 Geoserver作为地图图层的相关文章

基于GeoServer切片地图服务的发布

接着上一篇文章,如何将JPG格式的图片转化为带地理坐标的TIFF格式里提及的最近的一个项目,数据源是一张高分辨率的2.5维图片,现在已经成功转化成了带有地理坐标的TIFF格式.下面将介绍借助GeoServer如何将这个TIFF格式的数据以TMS(Tiled Map Service)的形式发布出去.此前笔者利用商业软件ArcGIS Server发布地图服务已经算是比较熟悉了.此次利用开源软件发布还处于摸索与学习阶段. 1.GeoServer介绍 GeoServer是OpenGIS Web 服务器规

我的视频网站开通,第一个 ArcGIS文本文件,excel文件生成点操作发布,希望大家支持

网站地址:http://i.youku.com/gisoracle第一个学习视屏:ArcGIS文本文件,excel文件生成点操作http://v.youku.com/v_show/id_XNzM3NzIxODE2.html 我的视频网站开通,第一个 ArcGIS文本文件,excel文件生成点操作发布,希望大家支持,布布扣,bubuko.com

eclipse下classes文件夹无法发布到tomcat的问题--tomcat发布慢的问题

=== 解决eclipse下classes文件夹无法发布到tomcat的问题_Nautilus_新浪博客http://blog.sina.com.cn/s/blog_484d8777010130n5.html 上午刚来,就更新了项目的svn,随后发布到tomcat下,奇怪的问题出现了,tomcat启动很简单就完成了,部署的项目不能被识别.看了一下发布目录WEB-INF下只有lib目录,其它如classes目录,web.xml文件一概不存在.不知道问题出在哪里? 经过排查,最后发现了问题出在ecl

PDF文件转DWG格式的文件要如何进行转换?

PDF文件转DWG格式的文件要如何进行转换?小伙伴们都知道,在CAD行业中,我们最常见的就是dwg格式的文件,但是要交给你的客户的时候dwg格式的文件不方便进行查看,就需要将文件转换成PDF,但又在查看过程中发现编辑错误的地方,就需要进行修改,只能在CAD编辑器中进行修改文件内容,编辑器中只能打开dwg格式的文件,那就还需要在将文件进行转换,那PDF文件转dwg格式的文件要如何进行转换.下面我们就一起来看看具体操作方法吧,想要了解的朋友可以一起来看看. 步骤一:首先,打开电脑,在电脑桌面上任意的

(7/24) 插件配置之html文件的打包发布

从前面几节到现在,其实我们的项目结构是有问题的,因为我们直接把index.html文件放到了dist文件夹目录下.这肯定是不正确的,应该放到我们src目录下,然后打包到dist目录下,前面为了学习,才把index.html放到了dist目录下. 此节我们就来完成把开发环境中的html文件打包到我们的生产路径下. 1.打包HTML文件 在开始下面内容之前,我们先改造一下之前的项目结构,先把dist中的index.html文件剪切到src目录中,并去掉我们引入的js代码(webpack会自动为我们引

AutoCAD打开1:1的高清卫地图

AutoCAD打开1:1的高清卫地图 工具准备 AutoCAD2008下载地址:http://pan.baidu.com/s/1bnhpWth (最好是2008版本以上的) AutoCAD2014(64位)下载地址:http://pan.baidu.com/s/1o6pItVs BIGEMAP地图下载器:http://www.bigemap.com/Home/Product/index.html Global Mapper下载地址:http://www.bigemap.com/Home/Prod

基于Geoserver配置多图层地图以及利用uDig来进行样式配置

在GeoServer中配置多个图层的地图相对来说很容易,其步骤为: 1. 进入geoserver 2. 配置相关的FeatureTypes 3. 配置WMS内容,进入以后,主要有以下几个地方需要命名:图层组名称,基础地图图层,SRS,Envelope. 图层组名称:这个随便命名: 基础地图图层:即配置的FeatureTypes SRS :这个一般选4326 Envelope:这个要注意了,有时候并不能生成,所以如果不能生成,可以自己手工输入 配置完后,提交就可以了. 当然,像这样配置出来的图是不

GeoServer WMS地图请求内存限制问题

应用需求:GeoServer发布WMS地图服务后,需要请求获取一张较大的地图图片,请求地址如下: http://localhost:8080/geoserver/wms?service=WMS&version=1.1.0&request=GetMap&layers=campus&styles=& bbox=4.528514,4.950175,4.546676,4.958241 &width=7430&height=3300&srs=EPSG:

通过sqlview动态发布地图图层

1.SQL Views简介 Geoserver+postgresql+openlayers(leaflet)是目前主流的gis开发工具.Postgresql用于存储地图数据,geoserver用于发布地图数据,openlayers或者leaflet用于访问发布地图.正常情况下当shapefile格式的数据导入postgresql数据库中之后,我们需要通过geoserver把所有的数据发布出去,这样才能访问.常规情况下这种操作方式是没有问题的,因为地图作为基础服务,一旦发布出去是不会变化的.但是对