by
svg
.org ESRI today announced support for the Scalable Vector Graphics (
SVG
) data format on top of the upcoming ArcGIS 9.2 software platform. We have engineered our geographic information system (GI
QGIS
二次开发地图添加标记注记
Svg
图标
即QgsAnnotationLayer、QgsMarkerSymbol和QgsAnnotationMarkerItem的用法,我把
QGIS
3.20软件切换成英文才看到注记这个词英文叫Annotation,然后再API手册里一个一个尝试出来的。
QgsCoordinateTransformContext* coordinateTransformContext = new QgsCoordinateTransformContext;
//先构造出一个能加注
these vector or raster files being classic files without geocoordinates. They are lat/long projection, I want to import them into
QGIS
, scale them up/down, place them to their right place, and they be...
QgsAnnotation是地图上绘制的标注项的抽象基类,这些标注可以在地图
中
绘制,并且具有固定的地图位置(使用mapPosition()检索),或者放置在相对于地图框架的位置(使用relativePosition()检索)。具有固定映射位置的注释也有相应的QgsCoordinateReferenceSystem,它可以通过调用mapPositionCrs()来确定。派生类应该重写renderAnnotation()来实现它们的
自定义
绘画例程。
地图
符号
作为地图语言;抽象描述的客观世界并用直观、生动视觉的手段向我们传递地理信息。每款GIS软件都会自带一些常见的地图
符号
,也可以
自定义
地图
符号
。一般做专题地图那些常规
符号
库就不能满足我们。
在使用
qgis
时候发现自带地图
符号
少的可怜而且又不美观。于是我引进第三方地图
符号
;由于
qgis
自定义
允许
svg
格式我就去mapbox官网下载一套
svg
格式。
加载
qgis
里只要设置一下路径可以。
QgsSymbol:用于呈现
符号
的抽象基类,经常和QgsMarkerSymbolLayer类搭配使用。标记
符号
层的抽象基类,经常和QgsSymbol类搭配使用。一个用于标记,一个用于呈现。很明显,可以呈现点、线、标记等。以下是QgsMarkerSymbolLayer后面主要介绍QgsRasterMarkerSymbolLayer
加载
栅格图层的类和
加载
svg
图层的类Qgs
Svg
MarkerSymbolLayer。介绍其
中
一个QgsRasterMarkerSymbolLayer类,别的子类大同小异。
# 需要的包
from
qgis
.core import (
Qgs
Svg
MarkerSymbolLayer, QgsMarkerSymbol, QgsSingleSymbolRenderer
from
qgis
.PyQt.QtCore import QPointF
# vl是一个QgsVectorLayer的对象
svg
_size = 10
svg
= Qgs
Svg
Ma