Найти - Пользователи
Полная версия: Нарисовать точки на карте мира
Начало » Python для новичков » Нарисовать точки на карте мира
1
flip89
Всем привет, подскажите как можно с помощью Python нарисовать точки(маркеры) по координатам или городам на карте мира?
fata1ex
Ищите gis библиотеки для python. Google: gis python. Вариантов довольно много. Выбираете наиболее понравившийся и пробуете.
flip89
Нашел библиотеку Mapnik
Никто с ней не сталкивался? Написал код, но маркеры почему то, не проставляются, ошибок не выдает. Код прилагаю.
#!/usr/bin/env python
import mapnik
m = mapnik.Map(1200,600)
m.background = mapnik.Color('steelblue')
world_s = mapnik.Style()
world_r = mapnik.Rule()
polygon_symbolizer = mapnik.PolygonSymbolizer(mapnik.Color('#f2eff9'))
world_r.symbols.append(polygon_symbolizer)
line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('rgb(50%,50%,50%)'),0.1)
world_r.symbols.append(line_symbolizer)
world_s.rules.append(world_r)
m.append_style('My Style',world_s)
ip_s = mapnik.Style()
ip_r = mapnik.Rule()
point_symbolizer = mapnik.PointSymbolizer()
ip_r.symbols.append(point_symbolizer)
ip_s.rules.append(ip_r)
m.append_style('Ip style',ip_s)
### World Layer
layer0 = mapnik.Layer('world',"+proj=latlong +datum=WGS84")
layer0.datasource = mapnik.Shapefile(file='ne_110m_admin_0_countries.shp')
### Data Layer
layer1 = mapnik.Layer('ip_coordinate',"+proj=latlong +datum=WGS84")
layer1.datasource = mapnik.Ogr(file="settings.vrt", layer="ip_coordinate")
### Add Styles
layer0.styles.append('My Style')
layer1.styles.append('Ip style')
### Add Layers
m.layers.append(layer0)
m.layers.append(layer1)
m.zoom_all()
mapnik.render_to_file(m,'world.png', 'png')
print "rendered image to 'world.png'"
<OGRVRTDataSource>
<OGRVRTLayer name="ip_coordinate">
    <SrcDataSource>ip_coordinate.csv</SrcDataSource>
    <GeometryType>wkbPoint</GeometryType>
    <LayerSRS>WGS84</LayerSRS>
    <GeometryField encoding="PointFromColumns" x="LONGITUDE" y="LATITUDE"/>
</OGRVRTLayer>
</OGRVRTDataSource>
LONGITUDE, LATITUDE
48.1, 0.25
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB