阅读 205
ArcGIS开发基础教程(四):核心概念之图层和数据(下)

ArcGIS开发基础教程(四):核心概念之图层和数据(下)

核心概念之图层和数据(下)

外部数据源图层介绍

外部数据源的数据和文件是由Layer类的不同子类支持的。包括用于处理外部文件(如CSVGeoJSON文件)或加载外部地图(如GeoQ,高德,Bing Maps)的特定类型的层。

常见的外部数据源图层有以下几种:

  • CSVLayer,数据来源为CSV文件,数据类型为点的矢量图形,支持的特性包括客户端地理处理、弹出窗口、支持2D和3D符号渲染。限制主要是可能根据要素个数,需要下载大量数据、
  • GeoJSONLayer,数据来源为GeoJSON文件,数据类型为点、折线和多边形的矢量图形,主要用于从 GeoJSON 文件创建图层。限制是每个GeoJSON图层只能接受一个单一的几何体类型。
  • OGCFeatureLayer,数据类型包括点、线和多边形,支持渲染器、标签和弹出窗口等。
  • WFSLayer,数据来源为WFS 服务,数据类型支持点、多点、线和多边形,支持渲染器、标签、弹出窗口,但是限制数据必须是GeoJSON格式,只支持2.0.0版本。
  • WMSLayer,数据来源为WMS 服务,数据类型支持栅格数据导出的单个图像,支持OGC规范。
  • WMTSLayer,数据来源为WMTS切片服务,数据类型为切片图像,支持OGC规范。
  • OpenStreetMapLayer,数据来源为OSM切片服务,数据类型为切片图像,用来展示OpenStreetMap的切片地图。

以上每个图层在初始化的时候都需要不同的属性,请参考每个图层类型文档了解更多。

创建CSVLayer的示例:

const earthquakesLayer = new CSVLayer({
  url: "https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_week.csv",
  copyright: "USGS Earthquakes",
  latitudeField: "latitude", // Defaults to "latitude"
  longitudeField: "longitude" // Defaults to "longitude"
});

map.layers.add(earthquakesLayer)
复制代码

底图介绍

底图为地图提供地理背景。底图通常以切片地图的形式提供,以加快渲染。栅格底图要预先对底图切片。矢量底图以压缩的二进制格式提供数据,并在客户端上进行渲染。ArcGIS自带了一系列底图1

自定义地图数据也可以通过ArcGIS Enterprise发布成矢量或栅格切片底图。

一个特定的Map对象的底图可以用basemap属性来控制,这个属性可以是一个字符串或一个Basemap对象。

const Map = new Map({
  basemap: "streets-navigation-vector"
})
复制代码

ArcGIS Server服务介绍

MapImageLayer用于显示ArcGIS Enterprise发布的Map ServiceMap Service通常包含多个子图层和复杂的制图。地图服务将数据渲染成服务器端的图像,并在客户端显示。

const layer = new MapImageLayer({
	url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer",
  sublayers: [
    {
     id: 1,
     visible: true
   	}, {
     id: 0,
     visible: true,
     definitionExpression: "pop2000 > 100000"
   	}
 	]
});
复制代码

ImageryLayer用于显示ArcGIS Enterprise发布的 Image Service 的图像或其他栅格数据。

const layer = new ImageryLayer({
  // URL to the imagery service
  url: "https://landsat2.arcgis.com/arcgis/rest/services/Landsat8_Views/ImageServer"
});
复制代码

  1. 一些ArcGIS底图需要API key调用,另一部分则无需配置,直接调用,具体请查阅ArcGIS开发者网站
文章分类
前端
文章标签