• 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
    timestamp2018-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字符串

    {"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点图层的名称必须成对出现,并以以下方式结尾:lat、lng;latitude、longitude;lat、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举的例子:

    1. {
    2. "type": "Feature",
    3. "geometry": {
    4. "type": "Polygon",
    5. "coordinates": [
    6. [
    7. [-10.0, -10.0],
    8. [10.0, -10.0],
    9. [10.0, 10.0],
    10. [-10.0, -10.0]
    11. ]
    12. ]
    13. },
    14. "properties": {
    15. "name": "foo"
    16. }
    17. }
    • "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

    1. {
    2. "type": "FeatureCollection",
    3. "features": [{
    4. "type": "Feature",
    5. "geometry": {
    6. "type": "Point",
    7. "coordinates": [102.0, 0.5]
    8. },
    9. "properties": {
    10. "prop0": "value0"
    11. }
    12. }, {
    13. "type": "Feature",
    14. "geometry": {
    15. "type": "LineString",
    16. "coordinates": [
    17. [102.0, 0.0],
    18. [103.0, 1.0],
    19. [104.0, 0.0],
    20. [105.0, 1.0]
    21. ]
    22. },
    23. "properties": {
    24. "prop0": "value0"
    25. }
    26. }]
    27. }

    这个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 将使用这些声明自动为您的要素设置样式

    1. {
    2. "type": "FeatureCollection",
    3. "features": [{
    4. "type": "Feature",
    5. "geometry": {
    6. "type": "LineString",
    7. "coordinates": [
    8. [-105.1547889, 39.9862516],
    9. [-105.1547167, 39.9862691]
    10. ]
    11. },
    12. "properties": {
    13. "id": "a1398a11-d1ce-421c-bf66-a456ff525de9",
    14. "lineColor": [130, 154, 227],
    15. "lineWidth": 0.1
    16. }
    17. }]
    18. }

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

  • 相关阅读:
    leetcode题107二叉树的层序遍历-日记篇
    各类语言真实性能比较列表
    电力系统潮流分析(Matlab代码实现)
    ubuntu 爬虫任务相关常用命令
    牛客编程题--必刷101之字符串(高效刷题,举一反三)
    面试题13:机器人的运动范围(回溯法)
    openvino多输入多输出动态尺寸样例记录
    工业机器人之“慧眼”——机器视觉
    20天拿下华为OD笔试之【模拟】2023B-查字典【欧弟算法】全网注释最详细分类最全的华为OD真题题解
    Java基础之《Ajax+JQuery(JavaEE开发进阶Ⅱ)》—JQuery DOM操作(2)
  • 原文地址:https://blog.csdn.net/qq_40206371/article/details/133761827