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. 根据需要重复上述步骤。您可以添加多个数据集,没有数据集数量的限制。但是请注意,添

相关推荐
m0_689618288 小时前
水凝胶发生器,不对称设计妙,医电应用前景广
笔记
Ace'8 小时前
每日一题&&学习笔记
笔记·学习
挥剑决浮云 -8 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
新晓·故知9 小时前
<基于递归实现线索二叉树的构造及遍历算法探讨>
数据结构·经验分享·笔记·算法·链表
魔理沙偷走了BUG9 小时前
【数学分析笔记】第4章第4节 复合函数求导法则及其应用(3)
笔记·数学分析
NuyoahC11 小时前
算法笔记(十一)——优先级队列(堆)
c++·笔记·算法·优先级队列
这可就有点麻烦了12 小时前
强化学习笔记之【TD3算法】
linux·笔记·算法·机器学习
Ljubim.te14 小时前
软件设计师——数据结构
数据结构·笔记
speop16 小时前
【笔记】I/O总结王道强化视频笔记
笔记·音视频