python地图渲染_Python Mapnik:关于如何使用gps轨道渲染地图的示例

我正在尝试使用mapnik和

python从记录的GPS轨迹渲染地图.我从数据库中获取gps数据,因此它只是一个数组(lat,long).

有谁知道这样做的例子?我知道我需要先创建一个形状文件,但我是mapnik的新手,到目前为止我还不太了解它.也许有一个很好的例子我会得到它:-)

谢谢

最佳答案 最简单的方法实际上是使用KML文件.安装

simplekml模块,然后运行阵列以创建KML文件.

import simplekml

kml = simplekml.Kml()

for i, coord in enumerate(coords):

# assuming coord is a lat, lon tuple

kml.newpoint(name="Point %s" % i, coords=[coord])

kml.save("GPS_tracking_data.kml")

现在你可以将它作为数据源加载到mapnik中并绘制它;

import mapnik

# Setup the map

map_canvas = mapnik.Map(width_in_px, height_in_px)

map_canvas.background = mapnik.Color('rgb(0,0,0,0)') # transparent

# Create a symbolizer to draw the points

style = mapnik.Style()

rule = mapnik.Rule()

point_symbolizer = mapnik.MarkersSymbolizer()

point_symbolizer.allow_overlap = True

point_symbolizer.opacity = 0.5 # semi-transparent

rule.symbols.append(point_symbolizer)

style.rules.append(rule)

map_canvas.append_style('GPS_tracking_points', style)

# Create a layer to hold the ponts

layer = mapnik.Layer('GPS_tracking_points')

layer.datasource = mapnik.Ogr(file="GPS_tracking_data.kml", layer_by_index=0)

layer.styles.append('GPS_tracking_points')

map_canvas.layers.append(layer)

# Save the map

map_canvas.zoom_all()

mapnik.render_to_file(map_canvas, 'GPS_tracking_points.png', 'png')

这应该就是这样做的. python mapnik的文档有点弱,但如果你引用的话,你应该可以在此基础上构建;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值