背景
最近河南文旅大伙,給家鄉帶了一波熱度,想想又是王子又是公主,著實羨慕。出門在外,還是對加很有感覺得,不過很遺憾,本人不能為家鄉做出貢獻,只能使用這種小伎倆,稍稍展示,稍作關聯。
環境和數據準備
安裝 gma:
pip install gma
本文基于:gma 2.0.5,Python 3.11
本文用到的矢量數據為:
鏈接:https://pan.baidu.com/s/1_jP6qXle1ixnWo_A_kjEYQ?pwd=w9vu
提取碼:w9vu
繪圖目標
代碼
from gma import io
from gma.map import plotSYG = io.ReadVector('上陽宮.shp')
SYG_M = io.ReadVector('上陽宮_門.shp')CQ = io.ReadVector('城墻.shp')
CM = io.ReadVector('城門.shp')
TWC = io.ReadVector('太微城.shp')
Q = io.ReadVector('橋.shp')
LS = io.ReadVector('洛水(澗水).shp')
ZWC = io.ReadVector('紫微城.shp')
LF = io.ReadVector('里坊.shp')MapF = plot.MapFrame(BaseMapProj = SYG.Projection)MapSYG = MapF.AddLayer(SYG, FaceColor = '#D7FCDC')MapLF = MapF.AddLayer(LF, FaceColor = '#DCCFFC')
MapTWC = MapF.AddLayer(TWC, FaceColor = '#FCCAB3')
MapZWC = MapF.AddLayer(ZWC, FaceColor = '#FFD37F')MapCQ = MapF.AddLayer(CQ, LineColor = '#31B07D', LineWidth = 0.6, Zorder = 5)MapLS = MapF.AddLayer(LS, FaceColor = '#BEE8FF', LineWidth = 0.1)MapSYG_M = MapF.AddLayer(SYG_M, PointColor = '#89438C', PointSize = 4, Zorder = 8, FieldName = '門')
SYG_MLabel = MapSYG_M.AddLabel(Font = 'SimSun', FontSize = 5, Offset = (-30, 10), Zorder = 9)MapCM = MapF.AddLayer(CM, PointColor = '#58992F', PointSize = 4, Zorder = 10, FieldName = '城門')
CMLabel = MapCM.AddLabel(Font = 'SimSun', FontSize = 5, Offset = (-30, 10), Zorder = 11)MapQ = MapF.AddLayer(Q, LineColor = '#22A19A', LineWidth = 0.6, Zorder = 12, FieldName = '橋')
QLabel = MapQ.AddLabel(Font = 'SimSun', FontSize = 5, Zorder = 13, Position = 'Geometric')