地图系统
创建惊人的地理可视化 具有交互式地图, 和弦数据色, 和动画显示.
[世界地图自然地球] (…/images/map-world-natural-earth.png)
概览
地图系统提供:
- 世界和区域地图——CDN(世界、美国、欧洲等)预装地图
- 多重预测——Mercator、自然地球、地貌学(地表)、阿尔伯斯等
- 强调区域——突出国家、州或省
- 数据可视化 — 带有色标的乔罗普勒斯地图
- Markers & Labels — 添加关注点
- 专业质量——为复杂国家提供多种支持
正在装入地图
从模板
最容易启动的方法是使用地图模板:
- 打开 模板 面板
- 查找 Maps 类别
- 选择“ 全球扩展地图” 或“ 美国数据可视化” 等模板
从发电机小组
- 打开 发电机 面板
- 选择 映射 为背景类型
- 选择地图( 世界、 美国、 欧洲等)
- 配置投影和造型
映射类型
| 地图 | 说明 | 最佳时间 |
|---|---|---|
| 世界 | 世界各国(110m号决议) | 快速世界地图 |
| 世界高级 | 世界各国(50m号决议) | 专业素质 |
| 我们a | 美国各州 | 国家一级数据 |
| (单位) | 美国各州 | 县级数据 |
| 欧洲 | 欧洲国家 | 欧盟可视化 |
| 加拿大语name | 仅加拿大 | 加拿大数据 |
| 非洲 | 非洲国家 | 非洲数据 |
预测
选择您可视化的正确投影 :
天然地球( 过失)
最好的世界地图。 平衡扭曲,看起来自然.
[自然地球投影] (…/images/map-world-natural-earth.png)
马卡托
保护角度 熟悉的表情 适合导航风格的地图.
! [交易员投射] (…/images/map-mercator-projection.png)
整形 (Globe)
显示地球为3D球体. 对重点突出的区域观点很有帮助.
[正统地球] (…/images/map-orthographic-globe.png)
美国阿尔伯斯
包括阿拉斯加和夏威夷在内的美国地图特别投影.
[美国阿尔伯斯] (…/images/map-usa-albers.png)
其他预测
- Robinson——妥协投影,对世界地图有利
- Winkel Tripel——低扭曲世界预测
- ** 中纬度地区情况良好
突出区域
单一国家/国家
单击任意区域选择 ,然后使用属性面板改变颜色.
多个区域
使用 API 或模板突出显示多个区域 :
// Highlight North American countries
app.mapSystem.highlightRegions(
['United States of America', 'Canada', 'Mexico'],
{ fillColor: '#22c55e', strokeColor: '#16a34a' }
);
动画启示录
模板可以将区域亮点以错开的时间来显示故事效果.
[重点区域] (…/images/map-world-highlighted.png)
区域标识格式
不同的地图使用不同的ID格式 :
| 地图 | ID 格式 | 实例 |
|---|---|---|
| 世界地图 | 完整国名 | 美国、法国、日本 |
| 美国地图 | 国名或代号 | “加州”,“加州”,“德州”,“TX” |
数据可视化( CHOROPLTH)
基于数据值的颜色区域 :
app.mapSystem.applyDataColors({
'California': 39538223,
'Texas': 29145505,
'Florida': 21538187
}, {
colorScale: 'blues',
showLegend: true,
legendTitle: 'Population'
});
颜色缩放
| 缩放 | 颜色 | 最佳时间 |
|---|---|---|
| 蓝色 | 浅至深蓝色 | 一般数据 |
| 绿色 | 光线变深绿色 | 环境数据 |
| 红色 | 光线变暗红 | 警告/负面数据 |
| 热量 | 黄色改为红色 | 强度数据 |
| 紫红色 | 光线变深紫色 | 定性数据 |
标记
在特定坐标处添加点标记 :
app.mapSystem.addMarker({
lat: 37.7749,
lon: -122.4194,
label: 'San Francisco',
color: '#ef4444',
pulse: true // Animated pulse effect
});
质量设置
| 质量 | 简化 | 使用大小写 |
|---|---|---|
| 草案 | 高级 | 快速预览 |
| 标准 | 中调 | 大多数用途 |
| 专业 | 无 | 多国最终出口 |
重要性: 对形状复杂的国家(俄罗斯、法国、美国)使用professional质量,以确保所有领土部分的正确转换.
多国
一些国家由多个互不连接的部分组成:
- 俄罗斯-内地+加里宁格勒岛+岛屿
- 法国——内地+科西嘉+海外领土
- 美国 — 内地+阿拉斯加+夏威夷(世界地图)
- 印度尼西亚 - 千岛群岛
- 斐济-多个岛屿
当质量被设定为professional时,地图系统会自动为这些国家使用Paper.js ComplatePath.
互动
缓冲效应
启用悬浮突出显示 :
app.mapSystem.loadMap('world', {
enableHover: true,
hoverFill: '#93c5fd'
});
单击事件
响应区域点击:
app.mapSystem.on('regionClick', (event) => {
console.log('Clicked:', event.regionId);
// Show info panel, highlight related regions, etc.
});
地图模板
全球扩展地图
展示跨区域商业扩张,以动画相位突出.
美国数据可视化
显示全美国各州的配色数据.
自定义映射导入
未包括的详细区域地图,请使用importCustomMap():
// Load from GeoJSON
await app.mapSystem.importCustomMap(geoJsonData, {
projection: 'mercator',
idProperty: 'name'
});
数据来源:
提示
- 与多波罗贡国家专业出口使用世界高频
- 自然地球投影 对大多数世界地图最有效
- Albers USA是专门为美国地图设计的
- 正统 为演示创造戏剧性的地球视角
- 专业质量 防止复杂国家形成腐败
键盘快捷键
| 快捷键 | 行动 |
|---|---|
| M | 切换地图工具( 当可用时) |
| Esc | 取消对所有区域的选择 |
地图区域动画
动画地图区域带有时间段-综合颜色变化. 用于显示数据随时间变化,全球扩展序列,或创建接触数据可视化的完美.
基本区域动画
以键框为基础的颜色过渡动画特定区域:
// Load a world map first
await app.loadMap('world', {
projection: 'naturalEarth',
fillColor: '#e2e8f0'
});
// Animate specific regions
app.animateMapRegions({
duration: 5,
loop: true,
regions: {
'USA': [
{ time: 0, fillColor: '#ef4444' }, // Red at start
{ time: 2.5, fillColor: '#22c55e' }, // Green at midpoint
{ time: 5, fillColor: '#ef4444' } // Red at end (loops)
],
'France': [
{ time: 0, fillColor: '#3b82f6' }, // Blue at start
{ time: 5, fillColor: '#fbbf24' } // Yellow at end
]
}
});
波浪动画
根据地理位置在所有区域建立一波彩色:
app.animateMapWave({
duration: 10,
loop: true,
colors: ['#ef4444', '#fbbf24', '#22c55e', '#3b82f6'],
waveDirection: 'horizontal' // 'horizontal', 'vertical', 'radial'
});
时间线整合
动画区域与时光网上UI整合:
- 动画区域出现在时间线面板
- 擦拭时间预览颜色变化
- 播放/暂停带有时间控件的动画
- 导出动画到视频或 GIF
! [带有地图动画的时线] (…/images/timeline-with-keyframes.png)
停止动画
// Stop all region animations
app.stopMapAnimations();
// Stop specific regions
app.stopMapAnimations({ regions: ['USA', 'Canada'] });
// Stop but preserve current colors
app.stopMapAnimations({ resetColors: false });
获取动画区域
const animated = app.getAnimatedMapRegions();
// Returns: [{ regionId, keyframes, duration, loop }, ...]
CSV 输出和导入
输出和导入区域数据,包括颜色,突出显示状态,以及数据驱动可视化的选择状态.
导出区域数据
// Export all regions with current state
const csv = app.exportMapRegionDataCSV();
// Export with custom options
const csv = app.exportMapRegionDataCSV({
includeHighlighted: true, // Include highlight status column
includeSelected: true, // Include selection status column
includeColors: true // Include fill/stroke colors
});
// Download directly as CSV file
app.downloadMapRegionDataCSV('my-map-data.csv');
CSV 格式 :
regionId,name,highlighted,selected,fillColor,strokeColor
USA,United States of America,1,0,#22c55e,#16a34a
CAN,Canada,0,0,#e5e7eb,#9ca3af
FRA,France,1,1,#3b82f6,#2563eb
导入区域数据
导入 CSV 数据以更新区域 :
// Import from CSV text
app.importMapRegionDataCSV(csvText, {
applyColors: true, // Apply fill/stroke colors from CSV
applyHighlight: true, // Update highlight status
applySelection: true // Update selection status
});
程序选择
// Select regions programmatically
app.selectMapRegions(['USA', 'Canada', 'Mexico']);
// Deselect regions
app.deselectMapRegions(['Mexico']);
// Get highlighted regions
const highlighted = app.getHighlightedMapRegions();
// Returns: ['USA', 'France', ...]
工作流程:基于电子表格的地图编辑
- 装入地图并突出显示一些区域
- 导出为 CSV:
app.downloadMapRegionDataCSV('regions.csv') - 以 Excel/ Google 工作表编辑( 改变颜色, 设置突出显示=1)
- 导入回:
app.importMapRegionDataCSV(updatedCsv)
这个工作流程是理想的:
- 非技术用户 编辑地图数据
- 向许多区域提供大量最新情况
- 数据管道整合
- 版本控制地图配置
GeoJSON 输出和导入
导出地图为GeoJSON,用于QGIS或Mapshaper等外部工具的编辑,然后随您的修改而重新导入.
导出已修改的地图
以当前颜色和样式导出地图 :
// Export as GeoJSON (includes current colors/styles)
const geoJson = app.exportMapGeoJSON();
// Download directly
app.downloadMapGeoJSON('my-styled-map.geojson');
导出原始来源
下载用于加载地图的精确 GeoJSON :
// Get original source data
const original = app.getOriginalMapGeoJSON();
// Download for external editing
app.downloadOriginalMapGeoJSON('world-source.geojson');
导入自定义地图
导入您编辑的 GeoJSON 或外部地图数据 :
// Import from URL
await app.importCustomMap('https://example.com/my-map.geojson');
// Import from object
await app.importCustomMap(editedGeoJson, {
projection: 'naturalEarth'
});
完整工作流程:编辑 → 再进口 → 动画
-
记录和导出
await app.loadMap('world'); app.downloadOriginalMapGeoJSON('world-source.geojson'); -
外部工具中的编辑边界:
- QGIS - 全功能GIS编辑器
- 映射 - 在线简化和编辑
- [geojson.io] (https://geojson.io) - 快速在线编辑器
-
重新输入 您经编辑的地图:
await app.importCustomMap(editedGeoJson, { projection: 'naturalEarth' }); -
- Animate** 您的自定义地图:
app.animateMapRegions({ duration: 5, regions: { 'MyRegion': [{ time: 0, fillColor: '#ef4444' }, ...] } });
地图源信息
获取当前装入的地图信息 :
const info = app.getMapSourceInfo();
// {
// source: 'world',
// projection: 'naturalEarth',
// quality: 'standard',
// regionCount: 177,
// hasOriginalGeoJSON: true,
// isCustomImport: false
// }
外部资源
地图数据来源
| 来源 | 说明 | 最佳时间 |
|---|---|---|
| [自然地球] (https://naturalearthdata.com) | 多个尺度的自由公有领域映射数据 | 世界地图、快速项目 |
| GADM | 高质量的行政边界 | 国家分区、详细区域 |
| [OpenStreetMap] (https://www.openstreetmap.org/export) (英语) | 社区维护、高度详细 | 市级数据、道路、建筑物 |
| [美国人口普查TIGER] (https://www.census.gov/geographies/mapping-files/time-series/geo/tiger-line-file.html) | 美国官方边界 | 美国各州、县、区 |
| 欧统局 | 欧盟官方边界 | 欧洲国家和区域 |
转换和编辑工具( E)
| 工具 | 说明 | 链接 |
|---|---|---|
| 映射器 | 简化和转换地图的在线工具 | [mapshaper.org] (https://mapshaper.org) (中文(简体) ) |
| 乔治森.io | 快速在线 GeoJSON 编辑器 | [geojson.io] (https://geojson.io) (中文(简体) ) |
| QGIS (QGIS) | 全功能桌面地理信息系统(免费) | [qgis.org] (https://qgis.org) (中文(简体) ) |
| 斜方 | 命令行格式转换器 | [GDAL]的一部分(https://gdal.org) |
格式转换工作流程
形状文件 → GeoJSON( 使用 Mapshaper ) :
- 转到 [maphshaper.org] (https://mapshaper.org)
- 拖放您的
.shp文件( 还有.dbf和.prj文件) - 点击 简化 以缩小文件大小(网络使用 10- 20%)
- 点击 出口 选择 ** PPG0 * * *
- 以
app.importCustomMap()导入 PinePaper
TopoJSON → GeoJSON : 1
TopoJSON文件在导入PinePaper时会自动转换.
文件大小提示
| 原始大小 | 建议采取的行动 |
|---|---|
| < 1 MB 设备 | 直接使用 |
| 1 -5 MB 设备 | 简化为 Mapshaper 的 50% |
| 5-20 MB | 简化为10-20% |
| > 20 甲基溴 | 考虑使用较小的区域或更高的简化 |
API 参考
关于程序映射控制,参见地图系统API文档.