Questions tagged «mapnik»

5
优化OSM数据的osm2pgsql导入
我目前正在EC2上构建一个实例,在该实例上导入我们正在研究的某些项目的整个Planet.osm快照,其中包含了整个地球数据的价值。我已经启动了一个大型的Ubuntu x64实例,并在Postgres数据库的EBS卷上附加了大量单独的存储,并对其进行了修改以在其中容纳PGSQL数据。 现在服务器osm2pgsql在导入快照时遇到了麻烦。在尝试了几次不同的内存配置和其他操作之后,该过程在完成大部分操作后仍然输出“ Killed”。一旦它在“遍历未决方式”时被杀死,下一次,在稍微调整了细长缓存之后,它到达了“处理方式”,然后崩溃了。根据我的阅读,这通常是由于内存问题造成的。 这是我最近一次运行导入的尝试: osm2pgsql -v -U osm -s -C 4096 -S default.style -d osm /data/osm/planet-latest.osm.bz2 以下是EC2上大型实例的规格: 大型实例7.5 GB内存,4个EC2计算单元(2个虚拟内核,每个虚拟内核各具有2个EC2计算单元),850 GB本地实例存储,64位平台 我的问题是-是否有一些好的基准测试资源来确定osm2pgsql和Postgres的调优要求?导入速度对我来说并不那么重要,我只是想确保过程安全完成,即使需要4到5天...我已经阅读了Frederick Ramm的“ 优化渲染”去年的SOTM中的“ 链 ”(PDF)文件,但是还有其他好的意见/资源吗?

3
Mapnik,Mapserver或Geoserver
我目前正在开发基于ArcGIS的Flex Web Viewer。ArcGIS适用于大多数情况,但存在一些问题,例如性能和许可成本。 这就是为什么我在寻找可能的替代方案。目前,我已经找到了3种可能的替代方法,但是我不确定它们的功能,因此我想知道这里的某些人是否对它们有更多的经验。 我一直在阅读文档,并尝试尝试其中的一些,但是要找出所有这些要求将花费很多时间。因此,如果您能指出我应该尝试的软件方向,那将对您有很大帮助。 这些是我们的要求: 快速 易于扩展 高级标签(基于属性的不同标签颜色,放置在矩形中的标签) 呈现缓存的数据 网络跟踪的可能性(对于下水道,因此要跟踪上游和下游) 打印(生成pdf) 很高兴有: 良好的flex或javascript查看器(我知道这是不同的软件,但不确定3个软件包是否都同样支持) 容易开始

1
设置TileStache
我想设置TileStache,但是对于GIS领域来说我是一个新手,可以发现TileStache文档有些难以理解。 我刚想出我需要跑步 tilestache-server.py -c tilestache.cfg 启动TileStache,并浏览至http://127.0.0.1:8080/以查看结果。 但是,我不清楚要输入什么tilestache.cfg。 最终,我想使用从PostGIS数据库生成的GeoJSON,但是现在,我只想从一个简单的示例开始,以确保TileStache可以正常工作。 文档中有一个“最小示例配置”,但它似乎依赖于Mapnik-并指向一个style.xml文件-在使用TileStache之前,我是否需要安装和配置Mapnik? *更新* 好的,我已经尝试过使用“代理”配置,如下所示tilestache.cfg: { "cache": {"name": "Test"}, "layers": { "roads": { "provider": { "name": "proxy", "url": "http://tile.openstreetmap.org/{Z}/{X}/{Y}.png" } } } } 然后重新启动Tilestache并转到http://127.0.0.1:8080/,但我仍然看到: Bad path: "/". I was expecting something more like "/example/0/0/0.png" 如果我转到http://127.0.0.1:8080/example/0/0/0.png,那么我会得到404-有什么想法吗? *更新2 * 为了他人的利益:roads应作为URL的一部分,因此请访问http://127.0.0.1:8080/roads/0/0/0.png或http://127.0.0.1:8080/roads/preview.html看瓷砖!
12 tiles  mapnik  geojson 


3
堆栈-Mapnik,TileMill,OpenLayers,GeoExt
这是否可以作为使用基本GIS查看器功能(平移,缩放,图层切换,信息弹出窗口)为Web地图提供服务的堆栈? Apache Web服务器 Mapnik服务于地理数据(TileMill为Mapnik数据设置样式) OpenLayers显示在浏览器中 GeoExt或JQuery的附加功能 我有那个权利吗?我有什么想念的吗?我已阅读了一堆线程和其他Web地图信息,但仍不确定Mapnik的确切位置/方式。它可以替代堆栈中的GeoServer / MapServer吗? 对于TileMill,不确定如何将样式化的地图添加到服务器。 意见和建议非常感谢!

1
如何从OSM数据渲染Mapbox矢量图块?
我想使用OpenStreetMap数据以Mapbox矢量图块格式(MVT)格式渲染自己的矢量图块(最终与Mapbox的热Mapbox GL JS客户端渲染器一起使用)。 TileStache + Mapnik + mapnik-vector-tile + PostGIS是这样做的方式吗?如何配置Mapnik渲染MVT切片?

2
Mapnik可以从SQL Server渲染空间数据吗?
这是一个非常简单的问题-我只想知道是否有人可以确认他们已成功使用Mapnik直接从SQL Server中保存的数据渲染图块。(如果可以,您是怎么做的?)除非您已亲自确认这是可能的,否则请不要回复...不仅仅是应该这样做 我见过人们推荐Mapnik在这样的线程中从SQL Server渲染数据:任何用于SqlGeometry / SqlGeography的好的Map渲染引擎 另外,mapnik网站指出“支持所有OGR格式”:http ://mapnik.org/faq/#data 但是,我完全无法使用到本地SQL Server数据库的连接作为Mapnik图层的数据源。作为测试,我使用了一个简单的测试OGR VRT,它在SQL Server上执行一条SQL语句,以选择单个内联地理多边形作为“知名文本”,如下所示: <OGRVRTDataSource> <OGRVRTLayer name="test"> <SrcDataSource>MSSQL:server=zangief\DENALICTP3;database=TempDB;</SrcDataSource> <SrcSQL>SELECT geography::STPolyFromText('POLYGON((0 50, 2 50, 2 53, 0 53, 0 50))', 4326).STAsText() AS geomWKT</SrcSQL> <GeometryField encoding="WKT" field="geomWKT"/> <LayerSRS>EPSG:4326</LayerSRS> <GeometryType>wkbPolygon</GeometryType> </OGRVRTLayer> </OGRVRTDataSource> (请注意,我也尝试使用更常规的SELECT * FROM Table语法进行此操作)。OGRINFO成功打开此VRT并报告以下内容: ogrinfo mssql.ovf -so -al INFO: Open of `mssql.ovf' using …

1
具有我自己的OSM数据服务器的OpenLayers
我已经通过设置PostGIS,导入Planet.osm数据快照(花了几天时间)以及设置Mapnik / cascadenik等来设置自己的OSM数据库/瓦片服务器的过程。我可以手动呈现自己的generate_image.py我可以用手动制作图块集generate_tiles.py。我花了很多时间使用cascadenik生成自己的自定义样式模板,并从中生成切片,对此我感到非常满意。 我的新问题是使用OpenLayers设置示例滑动图以在同一服务器上运行... 我已经对其进行了一些配置并可以正常工作;设置Apache,mod_python,TileCache等。它将图块渲染到滑动贴图中,但是我认为我在OpenLayers中搞砸了所有参数。这是我目前所拥有的(它在所有缩放级别上都呈现出一片空白): <html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="http://openlayers.org/api/OpenLayers.js"></script> <script type="text/javascript"> var map; function init() { map = new OpenLayers.Map ("map", { maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34), maxResolution: 156543.0399, numZoomLevels: 19, units: 'm', projection: new OpenLayers.Projection("EPSG:900913"), displayProjection: new OpenLayers.Projection("EPSG:4326") } ); layer = new OpenLayers.Layer.TMS( "OSM", "/tilecache/tilecache.py/", {layername: 'osm', type: 'png'} …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.