Форум сайта python.su
Всем привет, подскажите как можно с помощью Python нарисовать точки(маркеры) по координатам или городам на карте мира?
Офлайн
Ищите gis библиотеки для python. Google: gis python. Вариантов довольно много. Выбираете наиболее понравившийся и пробуете.
Офлайн
Нашел библиотеку 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
Офлайн