zoukankan      html  css  js  c++  java
  • Mapnik读取PostGIS数据渲染图片

    __author__ = 'Administrator'
    # encoding: utf-8
    import sys
    import datetime
    import mapnik
    m = mapnik.Map(256,256,"+proj=latlong +datum=WGS84")
    #m.background = mapnik.Color('steelblue') # set background colour to 'steelblue'.
    
    s = mapnik.Style()
    r = mapnik.Rule()
    polygon_symbolizer = mapnik.PolygonSymbolizer(mapnik.Color('pink'))
    r.symbols.append(polygon_symbolizer)
    line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('rgb(50%,50%,50%)'),0.1)
    r.symbols.append(line_symbolizer)
    s.rules.append(r)
    m.append_style('postgis',s)
    
    params = dict(dbname='geodb',table='tbsvrc_metadata_10584',user='postgres',password='postgres',host="192.98.12.244",port="5432")
    params['estimate_extent'] = True
    ds=mapnik.PostGIS(**params)
    #print(ds.envelope())
    lyr = mapnik.Layer('PostGIS Layer')
    lyr.datasource=ds
    lyr.styles.append('postgis')
    m.layers.append(lyr)
    extext = mapnik.Box2d(116.0, 36, 120, 38)
    #m.zoom_all()
    m.zoom_to_box(extext)
    startTime = datetime.datetime.now()
    for i in  range(1,40):
        path = "c:\mapnik\bj%s.png"%(i);
        mapnik.render_to_file(m,path, 'png')
        #print("running[%s]..."%(i))
    
    endTime = datetime.datetime.now()
    print("数据导入总耗时:%s描述"%((endTime - startTime).seconds))
    

    可以修改Range中的参数来测试渲染的效率,经过测试每秒可以输出10张图片。生成图片如截图:

  • 相关阅读:
    模型评估方法
    欠拟合、过拟合、偏差、方差
    机器学习基本概念
    Hive 的基本概念
    Flume的Channel
    Flume的Sink
    Flume的Source
    Flume 安装和配置
    Flume的基本概念
    BIO & NIO & NIO常见框架
  • 原文地址:https://www.cnblogs.com/likehua/p/3908305.html
Copyright © 2011-2022 走看看