kepler.gl笔记:添加数据

1 可以添加的数据

|-------|--------------------------------------------------------------------------------------|
| 本地文件 | 上传 CSV / GeoJSON 文件。 由于数据仅存储在浏览器中,上传的数据量最多为 250MB。 对于大于 250MB 的数据集,应该直接从远程 URL 加载它们。 |
| URL链接 | 通过直接粘贴远程 URL 来加载数据或地图 JSON。 可以将其链接到 CSV 文件。 |
| 样例数据 | 一个kepler.gl的样例数据 |

2 支持的坐标系

Kepler.gl支持的投影坐标系统是Web墨卡托坐标系(EPSG:3857),使用WGS84基准。

几何坐标应使用地理坐标参考系统,使用WGS84基准,并且经度和纬度单位应为十进制度数。

3 CSV数据

  • CSV文件要求包含标题行和多列。
    • 每一行应代表一个元素
    • 每一列应只包含一个数据类型
    • 基于这些数据类型,kepler.gl将创建图层和过滤器。

3.1 数据类型检测

  • 因为CSV文件的内容以字符串形式上传,kepler.gl将尝试通过解析每列的样本数据来检测列数据类型
  • 确保清理掉诸如"N/A"、"Null"、"\N"等的值
  • 如果列包含混合类型,kepler.gl将将其视为字符串以确保安全性。
  • kepler.gl可以检测以下数据类型:

|-----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 布尔型 | True/False |
| 日期(date) | 2019-01-01 |
| timestamp | 2018-09-01 00:00, 1570306147, 1570306147000 |
| geojson | WKT字符串 (Well-Known Text) POLYGON ((-74.158 40.835, -74.148 40.830, -74.151 40.832, -74.158 40.835)) |
| geojson | GeoJson字符串 {"type":"Polygon","coordinates":[[[-74.158,40.835],[-74.157,40.839],[-74.148,40.830],[-74.150,40.833],[-74.151,40.832],[-74.158,40.835]]]} |
| 整数 | 1,2,3 |
| 实数 | -0.2,3.14 |
| 字符串 | hello |

3.2 基于列名的图层检测

  • 如果列名遵循某些命名约定,kepler.gl将自动检测图层

|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Point | 点图层的名称必须成对出现,并以以下方式结尾:<foo>lat、<foo>lng;<foo>latitude、<foo>longitude;<foo>lat、<foo>lon。 |
| Arc | 当CSV数据中包含两个成对的点图层时,kepler.gl将自动创建一个用于表示这两个点之间关系的弧线图层 |
| Icon | 表示地图上的不同数据点或特定位置的图形符号 当CSV数据中包含名字叫icon的列时 |
| H3 | H3(Hierarchical Hexagonal Geospatial Indexing System)采用六边形网格的层次结构来表示地球上的不同地理区域 H3允许您将地球表面分解为一组六边形单元,这些单元之间具有层次结构,可以表示不同级别的地理区域,从全球到小范围区域 当CSV数据中包含名字叫h3_id,hexagon_id的列时 |
| Polygon | 包含geojson数据类型的列 几何形状(多边形、点、线串等)可以以GeoJSON或WKT格式的字符串形式嵌入到CSV中 数据类型是: * WKT字符串 POLYGON ((-74.158 40.835, -74.148 40.830, -74.151 40.832, -74.158 40.835)) * GeoJson字符串(包括类型和坐标) {"type":"Polygon","coordinates":[[[-74.158,40.835],[-74.157,40.839],[-74.148,40.830],[-74.150,40.833],[-74.151,40.832],[-74.158,40.835]]]} |

4 GeoJSON

  • kepler.gl 接受 GeoJSON 格式的 JSON 数据,这些数据可以包含单个 Feature 对象或 FeatureCollection 对象。
  • 每个 GeoJSON 文件将被 kepler.gl 创建为一个多边形图层(Polygon layer)

4.1 单Feature 对象

get started举的例子:

复制代码
  {
    "type": "Feature",
    "geometry": {
      "type": "Polygon",
      "coordinates": [
        [
          [-10.0, -10.0],
          [10.0, -10.0],
          [10.0, 10.0],
          [-10.0, -10.0]
        ]
      ]
    },
    "properties": {
      "name": "foo"
    }
  }
  • "type": "Feature":这个字段指示这是一个GeoJSON文件中的要素(Feature)对象。

  • "geometry":这是包含要素几何形状的字段。

    • "type": "Polygon":这表示要素的几何形状是一个多边形。

    • "coordinates":这个字段包含了多边形的坐标信息。多边形由一个坐标数组表示,每个坐标是一个二维点的数组。在这个例子中,多边形由一个包含四个坐标点的数组组成,这四个点依次是:[-10.0, -10.0]、[10.0, -10.0]、[10.0, 10.0] 和 [-10.0, -10.0]。这些坐标点定义了多边形的边界。

  • "properties":这个字段包含与要素相关的属性信息。

    • "name": "foo":这是一个名为 "name" 的属性,其值为 "foo"。这表示该多边形要素具有一个名为 "name" 的属性,其属性值为 "foo"。

4.2 Feature Collection

python 复制代码
{
"type": "FeatureCollection",
"features": [{
    "type": "Feature",
    "geometry": {
        "type": "Point",
        "coordinates": [102.0, 0.5]
    },
    "properties": {
        "prop0": "value0"
    }
}, {
    "type": "Feature",
    "geometry": {
        "type": "LineString",
        "coordinates": [
            [102.0, 0.0],
            [103.0, 1.0],
            [104.0, 0.0],
            [105.0, 1.0]
        ]
    },
    "properties": {
      "prop0": "value0"
    }
}]
}

这个GeoJSON文件是一个 FeatureCollection,包含了两个地理要素(Feature)对象

  • "type": "FeatureCollection":这个字段指示这是一个GeoJSON文件中的要素集合(FeatureCollection)。

  • "features":这是包含多个要素的数组。在这个例子中,该数组包含了两个要素。

    第一个要素(Feature):

    • "type": "Feature":这个字段指示这是一个GeoJSON文件中的要素对象。
    • "geometry":这是包含要素几何形状的字段。
      • "type": "Point":这表示要素的几何形状是一个点(Point)。
      • "coordinates":这个字段包含了点的坐标信息。在这个例子中,点的坐标是 [102.0, 0.5],表示位于经度 102.0 和纬度 0.5 的位置。
    • "properties":这个字段包含与要素相关的属性信息。
      • "prop0": "value0":这是一个名为 "prop0" 的属性,其值为 "value0"。这表示该点要素具有一个名为 "prop0" 的属性,其属性值为 "value0"。

    第二个要素(Feature):

    • "type": "Feature":同样,这个字段指示这是一个GeoJSON文件中的要素对象。
    • "geometry":这是包含要素几何形状的字段。
      • "type": "LineString":这表示要素的几何形状是一个线串(LineString)。
      • "coordinates":这个字段包含了线串的坐标信息。在这个例子中,线串由一系列坐标点组成,表示一条经过多个点的线路。
    • "properties":这个字段包含与要素相关的属性信息。
      • "prop0": "value0":与第一个要素相同,这也是一个名为 "prop0" 的属性,其值为 "value0"。

综上所述,这个GeoJSON文件描述了一个包含两个要素的要素集合,其中一个要素是点(Point),另一个要素是线串(LineString),并且它们都具有一个名为 "prop0" 的属性

4.3 样式信息

kepler.gl 允许从 GeoJSON 文件中读取样式信息。

可以向要素的属性(properties)中添加样式声明。kepler.gl 将使用这些声明自动为您的要素设置样式

python 复制代码
{
"type": "FeatureCollection",
"features": [{
    "type": "Feature",
    "geometry": {
      "type": "LineString",
      "coordinates": [
        [-105.1547889, 39.9862516],
        [-105.1547167, 39.9862691]
      ]
    },
    "properties": {
      "id": "a1398a11-d1ce-421c-bf66-a456ff525de9",
      "lineColor": [130, 154, 227],
      "lineWidth": 0.1
    }
}]
}

5 样例数据

5.1 世界飞行数据

  • 该数据集包含使用OpenSky Network的实时API收集的两小时飞行数据
  • 飞行的颜色基于其起飞国家。在这两个小时内记录了1.8万次飞行

5.2 加利福尼亚地震数据

  • 该数据集包含加利福尼亚发生的2.5级以上地震的列表。
  • 信息是使用USGS网站生成的,并为每个地震事件包含多个属性(位置、震级、震级类型)

5.3 纽约市出租车行程数据

黄色和绿色出租车行程记录包括捕捉上车和下车的日期/时间、上车和下车的位置、行程距离、详细费用、费率类型、付款方式和司机报告的乘客数量等字段。

数据来自纽约市出租车和豪华轿车委员会(TLC)网站。

5.4 旧金山等高线数据

这个数据集包含旧金山本土和宝岛/耶尔巴岛的等高线数据,基于旧金山等高基准。

5.5 旧金山街道树木地图

这个数据集包含了由dpw维护的街道树木的列表,包括种植日期、树种和位置等信息。数据来源:DataSF。

5.6 英格兰和威尔士通勤地图

这个数据集显示了居住地和工作地点的位置,基于英格兰和威尔士居住地2011年人口普查的数据。该数据将人们当前居住地区或更高级别地区分类,并显示他们在居住地区和工作地点之间的迁移。

5.7 自2006年以来在洛杉矶建造的200万美元以上住宅

这个数据集包含了2006年至2017年每年税务评估卷中用于估价和描述的土地地块数据。

5.8 Uber Movement出行时间数据

Uber Movement提供了来自数十亿次Uber行程的出行时间数据的免费和公开访问。

5.9 2017年美国各县的失业率数据

这个数据集包含了来自劳工统计局的2017年劳动力信息,与人口普查局的县级地图数据相结合。

6 添加多个数据

要向您的地图添加多个数据集,您可以按照以下步骤进行操作:

  1. 在右上角点击"Add More Data"。
  1. 选择以下其中一种选项:上传一个JSON/CSV文件,或者使用示例数据。

  2. 根据需要重复上述步骤。您可以添加多个数据集,没有数据集数量的限制。但是请注意,添

相关推荐
汇能感知5 小时前
摄像头模块在运动相机中的特殊应用
经验分享·笔记·科技
阿巴Jun5 小时前
【数学】线性代数知识点总结
笔记·线性代数·矩阵
茯苓gao5 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾5 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
DKPT6 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
ST.J6 小时前
前端笔记2025
前端·javascript·css·vue.js·笔记
Suckerbin7 小时前
LAMPSecurity: CTF5靶场渗透
笔记·安全·web安全·网络安全
小憩-7 小时前
【机器学习】吴恩达机器学习笔记
人工智能·笔记·机器学习
UQI-LIUWJ8 小时前
unsloth笔记:运行&微调 gemma
人工智能·笔记·深度学习
googleccsdn8 小时前
ESNP LAB 笔记:配置MPLS(Part4)
网络·笔记·网络协议