表格转KML点位是空间数据可视化的关键环节。在地理信息领域,表格数据是最常见的数据存储形式,而KML是Google Earth等地理信息系统的标准数据格式。本工具通过将结构化表格数据转换为可视化的KML文件,实现数据从数字到图形的飞跃。
数据的价值在于被理解和应用。通过将枯燥的表格数据转换为直观的地图标记,我们让数据获得了空间维度的表达能力。这不仅是格式转换,更是数据价值的升华,让复杂的数据变得直观易懂,为决策提供有力支持。
表格转KML点位遵循标准化的数据转换流程,确保转换结果的准确性和可视化效果。
数据导入:读取CSV或Excel格式的点位数据,识别表头结构。
数据验证:对每一行数据进行格式校验,验证坐标范围、颜色值有效性等。
数据分组:根据文件夹字段对点位进行分组,便于在地图上分层展示。
样式定义:收集所有不重复的颜色值,为每种颜色创建对应的KML样式定义。
KML生成:遍历所有点位,根据其颜色和分组信息生成Placemark标记。
文件组装:将样式定义和点位标记组合成完整的KML文档结构。
文件导出:生成KML文件并触发浏览器下载。
本工具采用现代化前端技术栈,实现高效的表格转KML点位功能。
const CHINESE_COLOR_TO_PUSHPIN: Record<string, string> = {
'#FF0000': 'red',
'#00FF00': 'grn',
'#0000FF': 'blue',
'#FFFF00': 'ylw',
'#FF00FF': 'pink',
'#FFFFFF': 'wht',
}
function isChineseColor(color) {
return !color.trim().startsWith('#')
}
export function generateKml(points) {
const folders = groupByFolder(points)
const styles = collectStyles(points)
// 生成样式定义
const styleDefs = styles.map(([color, id]) => `
<Style id="${id}">
<IconStyle>
<color>${kmlColor}</color>
<Icon><href>${pushpinUrl}</href></Icon>
</IconStyle>
</Style>
`)
// 生成Placemark
const placemarks = folders.map(folder => folder.points.map(pt => `
<Placemark>
<name>${pt.name}</name>
<Point><coordinates>${pt.lng},${pt.lat},0</coordinates></Point>
</Placemark>
`))
return `<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>${styleDefs.join('')}${placemarks.join('')}</Document>
</kml>`
}
采用模块化设计:TemplateReader负责文件读取和验证,KmlGenerator负责KML生成,ColorParser负责颜色处理,TemplateExporter负责模板导出。各模块职责清晰,便于测试和维护。
表格数据转KML点文件,支持批量导入
模板包含 5 列:名称、经度、纬度、文件夹、颜色。颜色支持中文名(如"红色")或 Hex 格式(如 #FF0000)。
表格转KML点位工具用于将CSV或Excel格式的点位数据转换为KML文件,支持自定义颜色标记和文件夹分组,适用于Google Earth等地理信息系统的点位标注场景。
鼠标悬停查看各省份的访问数据统计
所有评论均为匿名发布