谷歌气球 simplekml 入门《一》谷歌气球 simplekml 入门《二》
谷歌气球 simplekml 入门《三》
谷歌气球 simplekml 入门《四》
谷歌气球 simplekml 入门《五》
谷歌气球 simplekml 入门klm解说《六》
谷歌气球 simplekml 入门《七》
谷歌气球 simplekml 《八》地图动画之旋转动画的制作-全网唯一
一、AbstractViews
-
Camera 虚拟摄像机
查看场景的虚拟摄像机。
import simplekml
kml = simplekml.Kml()
pnt = kml.newpoint()
pnt.camera.latitude = 0.02 # 经度
pnt.camera.longitude = 0.012 # 纬度
pnt.camera.altitude = 10000 # 以米 (m) 为单位的地球上方高度
pnt.camera.tilt = 45 # 倾斜 绕 x 轴旋转,接受浮动。
pnt.camera.heading = 0 # 航向 绕 z 轴旋转,接受浮动
pnt.camera.roll = 0 # 绕 y 轴旋转,接受浮动
pnt.camera.altitudemode = simplekml.AltitudeMode.relativetoground
kml.save("Camera.kml")
import simplekml
kml = simplekml.Kml()
pnt = kml.newpoint()
pnt.camera = simplekml.Camera(
latitude=0.0,
longitude=0.0,
altitude=0.0,
roll=0,
tilt=45,
altitudemode=simplekml.AltitudeMode.relativetoground
)
# pnt.camera = simplekml.Camera(longitude=18.410858, latitude=-33.904446, altitude=50, altitudemode=simplekml.AltitudeMode.clamptoground)
kml.save("Camera Alternative.kml")
gxhorizfov 绕 x 轴旋转,接受浮动。
gxtimespan 一段时间,接受 simplekml.GxTimeSpan
gxtimestamp 代表一个时刻,接受 simplekml.GxTimeStamp
gxvieweroptions 启用特殊查看模式,接受 simplekml.GxViewerOptions
-
LookAt 相对于正在查看的对象定位相机。
参数与属性相同(大多数继承自 simplekml.AbstractView)
import simplekml
kml = simplekml.Kml()
ls = kml.newlinestring(name='A LineString')
ls.coords = [(18.333868,-34.038274,10.0), (18.370618,-34.034421,10.0)]
ls.extrude = 1
ls.altitudemode = simplekml.AltitudeMode.relativetoground 高度模式 相对地面
ls.lookat.gxaltitudemode = simplekml.GxAltitudeMode.relativetoseafloor 高度模式 相对海底
ls.lookat.latitude = -34.028242
ls.lookat.longitude = 18.356852
ls.lookat.range = 3000
ls.lookat.heading = 56
ls.lookat.tilt = 78
kml.save("LookAt.kml")
二、Constants 常量
- AltitudeMode clamptoground 衔接地 relativetoground 相对地
- GxAltitudeMode clampToSeaFloor 夹在海底 relativetoseafloor 相对海底
linestring.altitudemode = simplekml.AltitudeMode.relativetoground
- Color
multilin.style.linestyle.color = ‘fffff8f0’
multilin.style.linestyle.color = Color.black
multipoleven.style.linestyle.color = Color.changealpha("77", Color.orange)
multipolodd.style.polystyle.color = Color.changealpha("77", Color.lightblue)
pol.style.polystyle.color = simplekml.Color.changealphaint(100, Color.green)
- ColorMode 颜色模式
normal = 'normal' 正常
random = 'random' 随机
- DisplayMode 显示模式
default = 'default'¶
hide = 'hide'
- GridOrigin
- ListItemType 列表项类型
check = 'check' 检查
checkhidechildren = 'checkHideChildren' 检查隐藏子文件
checkoffonly = 'checkOffOnly' 检查仅勾选
radiofolder = 'radioFolder' 无线电文件夹
- RefreshMode 刷新模式
onchange= 'onChange' 更改时
onexpire= 'onExpire' 到期时
oninterval= 'onInterval'
- Shape 形状
circle = 'circle' 圆圈
rectangle = 'rectangle'矩形
sphere = 'sphere'球
- State
- Types
- Units 单位
fraction = 'fraction' 分数
insetpixels = 'insetPixels' 插入像素
pixels = 'pixels' 像素
- ViewRefreshMode
never = 'never'¶ 从不
onregion = 'onRegion' 安区
onrequest = 'onRequest' 请求时
onstop = 'onStop' 停止时
Geometries 几何体
- Point
mport simplekml
kml = simplekml.Kml()
pnt = kml.newpoint(name='A Point')
pnt.coords = [(1.0, 2.0)]
pnt.style.labelstyle.color = simplekml.Color.red # 字体的颜色
pnt.style.labelstyle.scale = 2 # 字体大小
pnt.style.labelstyle.scale = 0 # 移除上面name
pnt.style.iconstyle.color = simplekml.Color.red # 设置而图钉颜色
pnt.style.iconstyle.icon.href = 'http://maps.google.com/mapfiles/kml/shapes/placemark_circle.png' #取消图钉自定义标记
kml.save("Point Styling.kml")
```cpp
address 标准地址,接受字符串。
altitudemode 指定如何解释相机的高度。接受simplekml.AltitudeMode常数。
atomlink 包含此 KML 的 URL,接受字符串。
balloonstyle 功能的 BalloonStyle,接受 simplekml.BalloonStyle
camera 查看场景的相机,接受 simplekml.Camera
coords 特征的坐标,接受元组列表。
元组按经度和纬度的顺序表示坐标。元组可以选择指定高度。如果没有给出高度,则默认为零。
一个点特征只有一个点,因此给出了一个包含一个元组的列表。
例子:
没有高度: [(1.0, 1.0), (2.0, 1.0)]
高度: [(1.0, 1.0, 50.0), (2.0, 1.0, 10.0)]
点: [(1.0, 1.0)] # 经度,纬度
点+高度:[(1.0, 1.0, 100)] #经度,纬度,高度为100m
description 信息气球中显示的说明,接受字符串。
extendeddata 功能的简短描述,接受 simplekml.Snippet
extrude 将 Point 连接到地面,接受 int(0 或 1)。
gxaltitudemode 指定如何解释相机的高度。加上相对于海底。接受simplekml.GxAltitudeMode常数。
gxballoonvisibility 切换描述气球的可见性,接受 int 0 或 1
iconstyle 功能的图标样式,接受 simplekml.IconStyle
labelstyle 特征的标签样式,接受 simplekml.LabelStyle
linestyle 要素的 LineStyle,接受 simplekml.LineStyle
liststyle 功能的列表样式,接受 simplekml.ListStyle
lookat 相机相对于该功能,接受 simplekml.LookAt
name 地标名称,接受字符串。
phonenumber Google Maps mobile 使用的电话号码,接受字符串。
placemark 包含此功能的地标,只读。
polystyle 特征的 PolyStyle,接受 simplekml.PolyStyle
region 特征的边界框,接受 simplekml.Region
snippet 功能的简短描述,接受 simplekml.Snippet
style 功能的当前样式,接受 simplekml.Style
stylemap 功能的当前 StyleMap,接受 simplekml.StyleMap
timespan 一段时间,接受 simplekml.TimeSpan
timestamp 单一时刻,接受 simplekml.TimeStamp
visibility 是否显示该功能,接受 int 0 或 1。
xaladdressdetails xAL 格式的地址,接受字符串。
- Polygon 多边形
import simplekml
kml = simplekml.Kml()
pol = kml.newpolygon(name='A Polygon')
pol.outerboundaryis = [(18.333868,-34.038274), (18.370618,-34.034421),外多边形 可以默认颜色为白色
(18.350616,-34.051677),(18.333868,-34.038274)]
pol.innerboundaryis = [(18.347171,-34.040177), (18.355741,-34.039730),内多边形 可与外形成环形
(18.350467,-34.048388),(18.347171,-34.040177)]
pol.style.linestyle.color = simplekml.Color.green # 线的颜色
pol.style.linestyle.width = 1 # 越小线越粗细
pol.style.polystyle.color = simplekml.Color.changealphaint(80, simplekml.Color.green) # 颜色透明度 越小透明度越高
kml.save("Polygon Styling.kml")
address 标准地址,接受字符串。
altitudemode 指定如何解释相机的高度。接受simplekml.AltitudeMode常数。
atomlink 包含此 KML 的 URL,接受字符串。
balloonstyle 功能的 BalloonStyle,接受 simplekml.BalloonStyle
camera 查看场景的相机,接受 simplekml.Camera
description 信息气球中显示的说明,接受字符串。
extendeddata 功能的简短描述,接受 simplekml.Snippet
extrude 将 LinearRing 接地,接受 int(0 或 1)。
gxaltitudemode 指定如何解释相机的高度。 加上相对于海底。接受simplekml.GxAltitudeMode常数。
gxballoonvisibility 切换描述气球的可见性,接受 int 0 或 1
iconstyle 功能的图标样式,接受 simplekml.IconStyle
innerboundaryis 内在边界。接受多个边界的浮点元组列表,或单个边界的浮点元组列表。
labelstyle 特征的标签样式,接受 simplekml.LabelStyle
linestyle 要素的 LineStyle,接受 simplekml.LineStyle
liststyle 功能的列表样式,接受 simplekml.ListStyle
lookat 相机相对于该功能,接受 simplekml.LookAt
name 地标名称,接受字符串。
outerboundaryis 外部边界接受浮点数元组列表。
phonenumber Google Maps mobile 使用的电话号码,接受字符串。
placemark 包含此功能的地标,只读。
polystyle 特征的 PolyStyle,接受 simplekml.PolyStyle
region 特征的边界框,接受 simplekml.Region
snippet 功能的简短描述,接受 simplekml.Snippet
style 功能的当前样式,接受 simplekml.Style
stylemap 功能的当前 StyleMap,接受 simplekml.StyleMap
tessellate 允许多边形跟随地形,接受 int(0 或 1)。
timespan 一段时间,接受 simplekml.TimeSpan
timestamp 单一时刻,接受 simplekml.TimeStamp
visibility 是否显示该功能,接受 int 0 或 1。
xaladdressdetails xAL 格式的地址,接受字符串。
==========================================================
```cpp
划线
from simplekml import Kml, Types, Snippet, Color
kml = Kml(name="ExtendedData", open=1)
coords = [(18.36271305597591,-34.01792707074279,0),
(18.36249939144205,-34.01762728515967,0),
(18.36247681257987,-34.01736644626698,0),
(18.36237928017156,-34.01723665897296,0),
(18.36223391902398,-34.0172544563783,0),
(18.36203086107577,-34.01693989513787,0),
(18.36297681257987, -34.01736644626698, 0),
(18.36230928017156, -34.01723665897296, 0),
(18.36223391902398, -34.0172544563783, 0),
(18.36203089107577, -34.01693989513787, 0),
]
# Create the gx:Track and style it
trk = kml.newgxtrack(name=None)
trk.linestyle.width = 3
trk.linestyle.color = Color.red
trk.newgxcoord(coords)
kml.save('tt' + "444.kml")