當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


JavaScript ArcGIS CSVLayer用法及代碼示例


基本信息

以下是所在類或對象的基本信息。

AMD: require(["esri/layers/CSVLayer"], (CSVLayer) => { /* code goes here */ });

ESM: import CSVLayer from "@arcgis/core/layers/CSVLayer";

類: esri/layers/CSVLayer

繼承: CSVLayer > Layer > Accessor

自從:用於 JavaScript 4.1 的 ArcGIS API

用法說明

概述

CSVLayer 是基於 CSV 文件(.csv、.txt)的點圖層。 CSV 是一種plain-text 文件格式,用於表示表格數據,包括地理點要素(緯度、經度)。通常,緯度坐標是 Y 值,經度坐標是 X 值。 X、Y 坐標必須存儲在 csv 提要中的SpatialReference.WGS84 中。

CVSLayer 一次獲取所有數據,並在加載時將它們存儲在客戶端。但是,如果設置了刷新間隔或調用了 refresh() 方法,CSVLayer 將發出服務器端請求以獲取更新的數據。請參閱 FeatureLayer 的 querying your data 部分以了解有關如何查詢 csv 數據的更多信息,並參閱 data visualization 部分以了解如何更改 CSVLayer 的可視化效果。

創建 CSVLayer

CSVLayer 是通過將其 url 屬性設置為指向 csv feed 或內存中 csv 數據的 blob url 來創建的。如果 csv 數據在預定義字段之一中不包含 x、y 坐標,請通過設置 latitudeField 和 longitudeField 屬性來指定緯度和經度字段的名稱。緯度和經度字段的值必須存儲在 csv feed 中的 WGS84 中。因此,CSVLayer 的空間參考將默認為 WGS84。但是,您可以指定圖層的空間參考以匹配視圖的spatialReference,以提高性能。

引用 csv 提要 URL

要從 csv feed 創建 CSVLayer 實例,您必須將 url 屬性設置為 csv feed 的 url。如果 CSV 源與應用程序不在同一域中,則需要 CORS enabled serverproxy

require(["esri/layers/CSVLayer"], function(CSVLayer){
  // points to the states layer in a service storing U.S. census data
  const csvLayer = new CSVLayer({
    url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_week.csv",
    copyright: "USGS Earthquakes"
  });
  map.add(csvLayer);  // adds the layer to the map
});

通過 blob url 引用內存 csv 數據

您還可以通過將 blob url 傳遞到圖層的 url 屬性,從內存中的 csv 數據創建 CSVLayer。以下代碼片段展示了如何從 blob url 創建新的 CSVLayer。

// Pass data by a blob url to create a CSV layer.
const csv = `name|year|latitude|Longitude
aspen|2020|40.418|20.553
birch|2018|-118.123|35.888`;

const blob = new Blob([csv], {
  type: "plain/text"
});
let url = URL.createObjectURL(blob);

const layer = new CSVLayer({
  url: url
});

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 CSVLayer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。