ArcGIS Web API 接入天地图瓦片

2024-03-05 00:08
文章标签 arcgis web api 地图 接入 瓦片

本文主要是介绍ArcGIS Web API 接入天地图瓦片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

接入天地图的瓦片完全类似google的瓦片服务,但是空间参考不一致,想叠加其他的数据的话需要注意空间参考的设置,以上三篇博客的目的为简单的技术研究,如果想将这些内容用于商业用途,大家还是要联系厂家啊!

publicclasstianditu :TiledMapServiceLayer

{

    publicstring _mapType = null;

    privatestring[] _hosts = new
string[] { “tile0,
“tile1, “tile2,
“tile3, “tile4,
“tile5, “tile6,
“tile6, “tile7
};

    publicoverridevoid
Initialize()

    {

       this.FullExtent
=
new
ESRI.ArcGIS.Client.Geometry.Envelope(180,-90,-180,90);       
{

           SpatialReference = newESRI.ArcGIS.Client.Geometry.SpatialReference(4326);

       };

       this.SpatialReference
=
new
ESRI.ArcGIS.Client.Geometry.SpatialReference(4326);

       this.TileInfo
=
new TileInfo()

       {

           Height = 256,

           Width = 256,

 

           Origin = new
ESRI.ArcGIS.Client.Geometry.MapPoint(-90d,45d)           
{

                SpatialReference = new
ESRI.ArcGIS.Client.Geometry.SpatialReference(4326)

           },

           Lods = new
Lod[18]

       };

       double
resolution = 0.3515625;

       for (int i = 0; i <TileInfo.Lods.Length; i++)

       {

           TileInfo.Lods[i] = new Lod() { Resolution = resolution };

           resolution /= 2;

       }

       base.Initialize();

    }

    publicoverridestring
GetTileUrl(
int level, int
row,
int col)

    {

       int
index =
Math.Abs(col % 7);

       string
host = _hosts[index];

       string
url=
“”;

       if(_mapType==
“map)

       {

           if
(level < 10)

           {

                url=string.Format(“http://{0}.tianditu.com/DataServer?T=A0512_EMap&X={1}&Y={2}&L={3},
host, col, row, level+1);

           }

           else
if (level < 12)

           {

                url=string.Format(“http://{0}.tianditu.com/DataServer?T=B0627_EMap1112&X={1}&Y={2}&L={3},
host, col, row, level+1);

           }

           else

           {

                url=string.Format(“http://{0}.tianditu.com/DataServer?T=siwei0608&X={1}&Y={2}&L={3},
host, col, row, level+1);

           }

       }

       if
(_mapType ==
“Vanno)

       {

           if
(level < 10)

           {

                url = string.Format(“http://{0}.tianditu.com/DataServer?T=AB0512_Anno&X={1}&Y={2}&L={3},
host, col, row, level + 1);

           }

       }

       if
(_mapType ==
“img)

       {

           if
(level < 10)

           {

                url = string.Format(“http://{0}.tianditu.com/DataServer?T=sbsm0210&X={1}&Y={2}&L={3},
host, col, row, level + 1);

           }

           else
if (level == 10)

           {

                url = string.Format(“http://{0}.tianditu.com/DataServer?T=e11&X={1}&Y={2}&L={3},
host, col, row, level + 1);

           }

           else
if (level == 11)

           {

                url = string.Format(“http://{0}.tianditu.com/DataServer?T=e12&X={1}&Y={2}&L={3},
host, col, row, level + 1);

           }

           else
if (level == 12)

           {

                url = string.Format(“http://{0}.tianditu.com/DataServer?T=e13&X={1}&Y={2}&L={3},
host, col, row, level + 1);

           }

           else
if (level == 13)

           {

                url = string.Format(“http://{0}.tianditu.com/DataServer?T=eastdawnall&X={1}&Y={2}&L={3},
host, col, row, level + 1);

           }

           else

           {

                url = string.Format(“http://{0}.tianditu.com/DataServer?T=sbsm1518&X={1}&Y={2}&L={3},
host, col, row, level + 1);

           }

       }

       return
url;

    }

}

这篇关于ArcGIS Web API 接入天地图瓦片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/774700

相关文章

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

JavaWeb 中的 Filter组件详解

《JavaWeb中的Filter组件详解》本文详细介绍了JavaWeb中的Filter组件,包括其基本概念、工作原理、核心接口和类、配置方式以及常见应用示例,Filter可以实现请求预处理、响应后... 目录JavaWeb 中的 Filter 详解1. Filter 基本概念1.1 什么是 Filter1.

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放

使用Go调用第三方API的方法详解

《使用Go调用第三方API的方法详解》在现代应用开发中,调用第三方API是非常常见的场景,比如获取天气预报、翻译文本、发送短信等,Go作为一门高效并发的编程语言,拥有强大的标准库和丰富的第三方库,可以... 目录引言一、准备工作二、案例1:调用天气查询 API1. 注册并获取 API Key2. 代码实现3

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Python利用GeoPandas打造一个交互式中国地图选择器

《Python利用GeoPandas打造一个交互式中国地图选择器》在数据分析和可视化领域,地图是展示地理信息的强大工具,被将使用Python、wxPython和GeoPandas构建的交互式中国地图行... 目录技术栈概览代码结构分析1. __init__ 方法:初始化与状态管理2. init_ui 方法:

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四