• 瓦片地图与geoserver发布


    转自江军祥原文 瓦片地图与geoserver发布 (有删减修改)

    本文主要包括以下内容

    1. 导入数据到postgres数据库中

    osm2pgsql -s -d simple -U postgres -H localhost -S default.style E:SzgcSj2016osmosis-latestinWuhan.pbf --prefix wuhan -W
    
    SELECT osm_id,edge_id, (dp).path[1] As
    index, ST_AsText((dp).geom) As wktnode from
    (
    select osm_id,row_number() over() as
    edge_id,ST_DumpPoints(way) as dp from
    wuhan_roads limit 100)x
    //将geometry的空间参考改为4326(因为默认为900913)
    ALTER TABLE wuhan_roads ALTER
    COLUMN way TYPE
    geometry(LineString,4326) USING
    ST_Transform(way,4326);
    ALTER TABLE wuhan_line ALTER
    COLUMN way TYPE
    geometry(LineString,4326) USING
    ST_Transform(way,4326);
    ALTER TABLE wuhan_point ALTER
    COLUMN way TYPE geometry(Point,4326)
    USING ST_Transform(way,4326);
    //给表格wuhan_polygon添加属性way2 geometry
    ALTER TABLE wuhan_polygon ADD COLUMN way2
    geometry;
    
    //给表格wuhan_polygon的属性way2 geometry添加格式:(way,4326)
    update wuhan_polygon SET way2=ST_Transform(way,4326);
    
    //删除表格wuhan_polygon的属性way
    ALTER TABLE wuhan_polygon DROP COLUMN way;
    
    //给表格wuhan_polygon的属性way2改民为way
    ALTER TABLE wuhan_polygon RENAME way2 TO way;

    2.TileMill配置postgres的数据连结

    • 新建项目
    • 添加图层
    • 设置工程的默认渲染方式
    • 样式配置
    • 条件性样式
    • 工具提示
    • 图例
    • 输出地图

    连接后根据ID写样式配置

    #wuhanpolygon {
      ::outline {
        line-color: #3c22d6;
        line- 2;
        line-join: round;
      }
      polygon-fill: #03b6ad;
    }
    host=localhost port=5432 user=postgres password=root dbname=simple
    #wuhanroads {
      ::outline {
        line-color: #3c22d6;
        line- 2;
        line-join: round;
      }
      polygon-fill: #03b6ad;
    }
    
    #wuhanpoint {
      marker-6;
      marker-fill:#8b9091; //f45
      marker-line-color:#813;
      marker-allow-overlap:true;
    }

    然后导出mbtils文件,用python或者QGis安装插件解压即可,所得即瓦片地图,把文件夹放在tomact中root文件夹下即可访问。

    在tomcat中webapp下导入geoserver,启动geoserver,连接postgres,分别发布wuhan_roads,wuhan_point,wuhan_line,wuhan_polygen等表,可以在浏览器中查看效果如下:

  • 相关阅读:
    js中父窗口获得模态窗口的返回值
    Jquery获取控件值实例(转载)
    各种类库网址学习
    IIS启动网站时, 提示: “另一个程序正在使用此文件,进程无法访问”
    查看端口占用情况
    顽固的换行问题
    mac上共享android手机屏幕软件
    关于软键盘弹出的问题
    mac搭建android studio开发环境
    C语言位域和大小端
  • 原文地址:https://www.cnblogs.com/arxive/p/8416348.html
Copyright © 2020-2023  润新知