我想问一下是否有人可以帮我用 LaTeX 绘制西非部分地区(即几内亚、利比里亚和塞拉利昂)的地图?谢谢。
答案1
以下是使用 R 和 LaTex 以及 R 包 knitr 的代码和结果http://yihui.name/knitr/。地图是根据 mapdata 中的多项式数据库绘制的。创建一个 pdf 图像,然后使用 LaTeX 进行排版。(省略了很多细节)
几点说明
这是在安装了 Miktex(完整安装)的 Win 8.1 和安装了地图和地图数据包的 R 3.1.2 上完成的。
这不是使用 R 绘制地图的唯一方法。还有使用 googlemaps、地理数据等的链接。只需在网上搜索“使用 R”地图国家并浏览即可。
如果你去http://www.r-bloggers.com/?s=maps您将获得超过 800 个关于在 R 中使用地图的讨论和示例的链接。
\documentclass[10pt,letterpaper]{article}
\begin{document}
Map of Guinea, Liberia, and Sierra Leone
<<>>=
### Reference:
### https://www.students.ncl.ac.uk
### /keith.newman/r/maps-in-r
### http://stackoverflow.com/questions/22282713
### /r-maps-package-how-to-draw-lines-between-cities-within-the-country
library(maps)
library(mapdata)
map('worldHires',c('Guinea','Liberia','Sierra Leone'))
points(-13.67847,9.537029,col=2,pch=18)
text(-13.67847,9.537029, "Conakry", pos = 1)
### points(longitude, latitude, color, symbol shape)
@
\end{document}
答案2
您可以考虑使用该getmap
包。例如:
\documentclass{article}
\usepackage{getmap}
\usepackage{graphicx}
\begin{document}
\getmap [file=africa, mode=gm, type=terrain,xsize=500, ysize=500, scale=2, zoom=6]{Sierra Leone}
\includegraphics[width=9cm]{africa}
\end{document}
答案3
我此刻不在电脑旁,所以这将是一个稀疏的答案,但更直观的答案是使用 QGIS,然后将地图导出为 PDF 并使用\includegraphics{}
您可以在这里获取 qgis: http://www.qgis.org/
从那里,只需谷歌“形状文件”在 QGIS 中打开它,根据需要设置颜色,然后使用打印准备对话框保存您想要的部分。
qgis 的优点是可以更容易地包含多层地图数据,然后仅导出部分数据。
我将其用于三个国家的道路、水路和轮廓数据。