首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ArcGISMapsSDK For Unity3D使用C#API

使用C#API

了解如何使用C#API在场景中使用ArcGIS数据和其他地理空间内容。

注意

要开始使用API,请通过从主菜单栏中选择Assets> Create> C#Script或按Project面板中的Create Menu plus sign图标来创建一个新脚本。

新脚本将在“项目”面板中当前选择的任何文件夹中创建。新脚本文件的名称将突出显示,提示您输入新名称。

双击脚本时,它将在文本编辑器中打开。默认情况下,Unity将使用Visual Studio,但是您可以从Unity偏好设置中的“外部工具”面板中选择所需的任何编辑器(进入Unity> Preferences)。

您可以在高清渲染管道(HDRP)和通用渲染管道(URP)的APIScene文件夹下的Samples文件夹中找到C ++ API示例场景。要访问该文件夹,请在“项目”窗口中转到“资产”>“ ArcGISMapsSDK”>“示例” 。选择HDRP或URP以根据项目的渲染管道查找文件夹。APIScene

先决条件

查看“入门”页面中的前三个步骤,以确保正确设置了开发环境。

选择全局或本地

使用3D内容时,您可以选择在两个不同的场景环境之一中显示数据:全局或局部。全局或局部场景的最佳环境取决于数据的空间参考,图层类型以及您要在场景中实现的目标。

全球场景

全局场景是一种查看模式,您可以在其中基于WGS84或Web Mercator(辅助球)坐标系在球上显示2D和3D内容。当您想要了解或提供环绕地球球形表面的现象的背景信息时,全局场景非常有用,例如全球天气测量,航空公司的交通路径或航道。

要设置全局场景,请在类中添加以下功能:

复制

当地景象

局部场景是一种视图模式,可将地形和图层投影到平面而不是球体上,并且仅通过Web Mercator坐标系投影。局部场景可用于表示整个世界,并且可以选择使用固定范围,该范围可裁剪到图层的尺寸。本地场景可用于显示或分析本地或城市规模的数据,当您要查看定义的区域(例如校园设施或建筑开发项目)时,对于城市规划和可视化非常有用。

要设置本地场景,请添加:

复制

选择底图

底图为场景中的内容提供了地理背景的背景。ArcGIS Maps SDK for Unity包含一个底图库,该库具有多种选择,包括地形,图像和街道。

添加以下代码以设置底图:

复制

将底图URL设置为所需的任何URL

创建高程

高程图层可以在3D场景中创建浮雕,从而有助于3D可视化。高程表面定义了地图或场景范围内的高度值。高程表面最常见的用途是为栅格化的内容和地面矢量符号定义高程源,但是在编辑要素时也可以使用表面来定义高度。

添加以下代码来设置高程:

复制

新增资料

图层是地图的内容。它们包括关于人,地球,生活等的广泛主题,并且由图像,Web服务和本地数据组成。

您可以添加什么层?

Web服务:栅格图块层,集成网格场景(v1.7),3D对象场景层(v1.7)和高程层

本地服务:集成的网格和3D对象SLPK文件和TPK文件(影像和高程)

添加以下代码来创建图像图层,并将图层名称MyImageLayer和图层不透明度设置为完全不透明:

复制

添加以下代码以创建名称My3DLayer和不透明度为的3D图层0.5f:

复制

添加以下代码,以从本地文件中创建一个名称MyLocal3DLayer和不透明度为3D的图层0.5f:

复制

更改图层的不透明度:

复制

相机

该ArcGISCameraComponent游戏引擎摄像头连接到GIS世界。它位于文件夹中:

资产\ ArcGISForUnity \ Components \ SDK \ Scripts \ GameComponents

该组件应附加到活动的Unity摄像机上,以在Unity和ArcGIS Maps SDK for Unity插件之间建立连接。

复制

设置摄像机的初始位置和旋转:

复制

可以使用以下属性定位摄像机的坐标:

复制

创建范围

在本地场景中,您可以裁剪底图和图层以从视图中创建自定义范围。这对于提高性能,关注项目的关键元素以及与地下层进行交互非常有用。

地图范围由一系列边界坐标定义,这些边界坐标描绘了您要使用的地图或场景的区域。

设置矩形范围

要使用中心(纬度,经度和高度),宽度和高度设置矩形范围,请使用以下代码。

复制

注意

这些是此代码中使用的值。他们将初始视角设置为纽约市上方的位置:

纬度:40.691242

经度:-74.054921

海拔:3000

宽度:2000 m

高度:4000 m

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201102A04VYJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券