switch2osm使用open street map离线地图中文乱码方框解决办法
----------written by shenwenkai-------------
ubuntu linux环境下,按照网址(https://switch2osm.org/serving-tiles/building-a-tile-server-from-packages/提供的方式,执行至sudo /etc/init.d/renderd restart
打开http://localhost/osm/slippymap.html就可以看到样例图;但是如果不出意外,中文会出现方框,无法正常显示。
下面说明解决方法:
- 1)安装unifont字体
sudo apt-get install unifont
- 2)修改/etc/mapnik-osm-data/inc/fontset-settings.xml.inc的内容为:
<!--Settings for Mapnik Fonts
To see the fonts you have installed with Mapnik do:
ls `python -c "import mapnik;print mapnik.fontscollectionpath"`-->
<FontSet name="book-fonts">
<Font face-name="unifont Medium" />
</FontSet>
<FontSet name="bold-fonts">
<Font face-name="unifont Medium" />
</FontSet>
<FontSet name="oblique-fonts">
<Font face-name="unifont Medium" />
</FontSet>
修改/etc/renderd.conf的内容为:
[renderd]
stats_file=/var/run/renderd/renderd.stats
socketname=/var/run/renderd/renderd.sock
num_threads=4
tile_dir=/var/lib/mod_tile ; DOES NOT WORK YET
[mapnik]
plugins_dir=/usr/lib/mapnik/2.0/input
font_dir=/usr/share/fonts/truetype/unifont
font_dir_recurse=true
[default]
URI=/osm/
XML=/etc/mapnik-osm-data/osm.xml
DESCRIPTION=This is the standard osm mapnik style
;ATTRIBUTION=©<a href=\"http://www.openstreetmap.org/\">OpenStreetMap</a> and <a href=\"http://wiki.openstreetmap.org/w\
iki/Contributors\">contributors</a>, <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">CC-BY-SA</a>
;HOST=tile.openstreetmap.org
;SERVER_ALIAS=http://a.tile.openstreetmap.org
;SERVER_ALIAS=http://b.tile.openstreetmap.org
;HTCPHOST=proxy.openstreetmap.org
- 3)修改/etc/mapnik-osm-data/osm.xml的关键词,把配置文件中的FontSet name="bold-fonts"等字体集设置全部改为字符类型设置face-name="unifont Medium"。
- 4)删除缓存文件 sudo rm -rf /var/lib/mod_tile/default/*
再次打开,中文名称应该就可以正常显示了。
附加:
可以根据如下命令的运行情况,来判断mapnik是否正确运行。
sudo su www-data
$ renderd –f
renderd[26014]: Rendering daemon started
renderd[26014]: Parsing section renderd
renderd[26014]: Parsing render section 0
renderd[26014]: Parsing section mapnik
renderd[26014]: Parsing section default
renderd[26014]: config renderd: unix socketname=/var/run/renderd/renderd.sock
renderd[26014]: config renderd: num_threads=4
renderd[26014]: config renderd: num_slaves=0
renderd[26014]: config renderd: tile_dir=/var/lib/mod_tile
renderd[26014]: config renderd: stats_file=/var/run/renderd/renderd.stats
renderd[26014]: config mapnik: plugins_dir=/usr/lib/mapnik/2.0/input
renderd[26014]: config mapnik: font_dir=/usr/share/fonts/truetype/unifont
renderd[26014]: config mapnik: font_dir_recurse=1
renderd[26014]: config renderd(0): Active
renderd[26014]: config renderd(0): unix socketname=/var/run/renderd/renderd.sock
renderd[26014]: config renderd(0): num_threads=4
renderd[26014]: config renderd(0): tile_dir=/var/lib/mod_tile
renderd[26014]: config renderd(0): stats_file=/var/run/renderd/renderd.stats
renderd[26014]: config map 0: name(default) file(/etc/mapnik-osm-data/osm.xml) uri(/osm/) htcp() host()
renderd[26014]: Initialising unix server socket on /var/run/renderd/renderd.sock
renderd[26014]: Created server socket 5
renderd[26014]: Renderd is using mapnik version 2.0.0
renderd[26014]: DEBUG: Loading font: /usr/share/fonts/truetype/unifont/unifont.ttf
Running in foreground mode...
renderd[26014]: Starting stats thread
switch2osm使用open street map离线地图中文乱码方框解决办法的更多相关文章
- C#中WebClient使用DownloadString中文乱码的解决办法
原文:C#中WebClient中文乱码的解决办法 第一次尝试: string question = textBox1.Text.ToString(); WebClient client= new We ...
- 详解get请求和post请求参数中文乱码的解决办法
首先出现中文乱码的原因是tomcat默认的编码方式是"ISO-8859-1",这种编码方式以单个字节作为一个字符,而汉字是以两个字节表示一个字符的. 一,get请求参数中文乱码的解 ...
- Source Insight 4 中文乱码的解决办法(source insight 3.5 及以下版本就到其他地方看看吧)
干货:Source Insight 4 中文乱码的解决办法(source insight 3.5 及以下版本就到其他地方看看吧) [解决办法]: 菜单栏中[File]->[Reload As E ...
- IDEA使用maven构建时控制台中文乱码的解决办法
使用maven clean install 项目时控制台中文乱码,解决办法如下: Setting->maven->runner VMoptions: -Dfile.encoding=UTF ...
- resin后台输出中文乱码的解决办法!
resin后台输出中文乱码的解决办法! 学习了:https://blog.csdn.net/kobeguang/article/details/34116429 编辑conf/resin.con文件: ...
- php使用curl获取文本出现中文乱码的解决办法
在使用php的curl获取远程html文本时出现了中文乱码. 解决办法的代码如下: $url = "www.ecjson.com";//获取页面内容$ch = curl_init( ...
- get请求和post请求参数中文乱码的解决办法
get请求参数中文乱码的解决办法 在tomcat的server.xml里的Connector加个URIEncoding="UTF-8",把 <Connector connec ...
- Windows 2012 中文乱码的解决办法
背景:服务器安装2012 R2英文环境,软件为中文显示.已下载中文语言包安装到服务器上 现象:TXT文档的中文在服务器上打开显示为乱码,复制到本地电脑上可正常显示 解决办法:控制面板-语言-更改日期. ...
- Keil µVision4 中出现中文乱码的解决办法
首先得说一下,以前都没有遇到过类似的问题,但是看到有个同学曾经满篇的乱码那叫个心疼. 这里我所说的办法其实只是格式转换的问题,对于其他原因造成的,可能会在以后遇到的时候再来处理了.另外,在将代码文件转 ...
随机推荐
- App开发流程之右滑返回手势功能
iOS7以后,导航控制器,自带了从屏幕左边缘右滑返回的手势功能. 但是,如果自定义了导航栏返回按钮,这项功能就失效了,需要自行实现.又如果需要修改手势触发范围,还是需要自行实现. 广泛应用的一种实现方 ...
- (转)postman中 form-data、x-www-form-urlencoded、raw、binary的区别
1.form-data: 就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开.既可以上传键值对,也可以上传文件.当上传的字段是文件 ...
- 统计整个Xcode工程代码行数
打开终端,ls 查看目录,用cd命令 定位到工程所在的目录,然后调用以下命名即可把每个源代码文件行数及总数统计出来: find . "(" -name "*.m" ...
- php底层运行原理
http://www.cnblogs.com/phphuaibei/archive/2011/09/13/2174927.html
- 15、安全工程师要阅读的书籍 - IT软件人员书籍系列文章
信息安全工程师是一个比较新兴的角色.在2016年今年的下半年软考就将安全工程师纳入了考试科目,说明国家对安全工程师的需求还是不错的.安全工程师包括硬件和软件两块内容吧.这里描述的安全工程师主要是针对软 ...
- java.lang.IllegalStateException:Web app root system property already set to different value 错误原因及解决 Log4j
Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口 服务器.NT的事件记录器.UNIX Syslog守护进程等: ...
- Axure RP7.0 使用记录手册
第一章 Axure RP7.0 下载,汉化与注册教程 一.下载软件 Axure官网:http://www.axure.com/ Axure教程官网:http://www.iaxure.com/ 网 ...
- SQL Server(三)——增、删、改、查
一.数据库操作 create database 数据库名称 ——创建drop database 数据库名称 ——删除use 数据库名称 ——使用go 两条SQL语句之间分隔 二.表的操作 create ...
- 关于tempdb的一些注意事项
由于数据库的文件的位置对于I/O性能如此重要,以至于在创建主数据文件的文职时,需要考虑tempdb性能对系统性的影响,因为它是最动态的数据库,速度还需要最快. 组成:有主数据文件和日志文件组成.从sq ...
- linux mount 硬盘挂载和卸载
Linux 挂载 [root@whp6 ~]# mount /dev/sdb5 /mnt/ [root@whp6 ~]# df -h Filesystem Size Used Avail Use% M ...