2

移動を線として表示するPythonスクリプト内のマップのpngファイルを作成する方法を探しています(座標はすでに緯度、経度、標高になっています)。私の知る限り、グーグルマップを「オフライン」または印刷して使用することは違法であるため、私はOpenStreetマップをターゲットにしています。

これを行う方法を教えてもらえますか?私を助けることができるモジュールはありますか?または例さえ?

ありがとう!

4

1 に答える 1

6

この種のタスクには、タイルミルを十分に推奨することはできません。豊富な選択肢からベースマップを選択したり、OSMデータから独自のマップをインポートしてスタイル設定したりできます。また、ルートなどのデータレイヤーも非常によくサポートしています。最も重要なのは、素晴らしいドキュメントとチュートリアルがあることです。

完全にPythonを使い続けたい場合は、Mapnikライブラリを使用することをお勧めします。

ここのシェープファイルのようなデータファイルが必要になります:

ne_110m_admin_0_countries.shp

xmlスタイルファイル:

<Map background-color="black" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
  <Style name="My Style">
    <Rule>
      <PolygonSymbolizer fill="#f2eff9" />
      <LineSymbolizer stroke="rgb(50%,50%,50%)" stroke-width="5.0" />
    </Rule>
  </Style>
  <Layer name="world" srs="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs">
    <StyleName>My Style</StyleName>
    <Datasource>
      <Parameter name="type">shape</Parameter>
      <Parameter name="file">ne_110m_admin_0_countries.shp</Parameter>
    </Datasource>
  </Layer>
</Map>

およびPythonスクリプト:

import mapnik
stylesheet = 'world_style.xml'
image = 'world_style.png'
m = mapnik.Map(2000, 1500)
mapnik.load_map(m, stylesheet)
m.zoom_all() 
mapnik.render_to_file(m, image)
print "rendered image to '%s'" % image
于 2013-03-25T20:55:23.937 に答える