arcgis

Arcgis API 离线安装

纵饮孤独 提交于 2020-01-27 22:24:16
Arcgis API 离线安装 1. API离线部署 将离线包下载到本地之后解压,将解压后的文件夹放到tomcat下 2. API离线配置 (1)打开下载api里面的init.js文件,目录是:\arcgis_js_api\library\3.20\3.20\init.js,查找 baseUrl: 将后面对应的路径替换,这个路径需要完整的访问路径,比如:http://127.0.0.1:8080/arcgis_js_api/library/3.20/3.20/dojo 具体的根据实际情况进行修改即可 (2) 打开下载api里面的dojo.js文件,目录是:\arcgis_js_api\library\3.14\3.14\dojo\dojo.js 查找 baseUrl: 将后面对应的路径替换,这个路径只需要相对访问路径即可,比如:…/arcgis_js_api/library/3.20/3.20/dojo, 3. API引用 配置修改完成之后API的引用方式示例如下,只需引用一个css样式和init.js文件即可正常使用API,具体使用方式可参照demo < link rel = "stylesheet" href = "http://127.0.0.1:8080/arcgis_js_api/library/3.20/3.20/esri/css/esri.css" / > <

Adding geoserver wms layer using arcgis javascript 4.x

社会主义新天地 提交于 2020-01-25 04:40:14
问题 I am trying to add a geoserver layer to arcgis javascript 4.x. Here is what I have so far: var layer1 = new WMSLayerInfo({ name: 'sf:layer01', title: 'sf:layer01' }); var resourceInfo = { extent: new Extent(275935.148501, 2038404.844184, 276182.595821, 2038680.709887, { wkid: 2236 }), layerInfos: [layer1] }; var wmsLayer = new WMSLayer('https://myserver/geoserver/sf/wms', { resourceInfo: resourceInfo, visibleLayers: ['sf:layer01'] }); map.addLayers([wmsLayer]); So far, I found out that the

Eclipse's Emulator (ArcGIS Android App)?

萝らか妹 提交于 2020-01-24 21:12:10
问题 I am new to Eclipse. I am trying to learn it step by step. I am trying to create an ArcGIS app for Android using " Eclipse IDE for Java EE Developers ". I followed this tutorial, and noticed this sentence: "Be sure to have an Android device connected to the machine. We do not support running in an Emulator." My question is >>> How can I test my app? Is what have been mentioned is true?! I think that this tutorial is old because they are talking about old SDK version. I thought about using the

关于GIS中Scale和Resolution的那些事儿

萝らか妹 提交于 2020-01-24 00:27:47
在ArcMap或各类前端地图框架(Leaflet.js、OpenLayers.js、ArcGIS Javascript等)中都需要加载WMTS或ArcGIS Rest服务,但所有的地图显示的原理基本上都是通过坐标和每张瓦片的分辨率来计算行列号的,但WMTS服务标准中其实是没有分辨率Resolution这个参数的,他只给出了比例尺“ScaleDenominator”这个值,需要用户根据这个比例尺自己计算出分辨率。(参考下图,为同一个瓦片服务的Rest服务和WMTS服务) REST: http://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer WMTS: https://basemap.nationalmap.gov/arcgis/rest/services/USGSTopo/MapServer/WMTS/1.0.0/WMTSCapabilities.xml 但在ArcGIS Rest服务中你会发现服务的Lod信息里是同时给出了比例尺“Scale”和分辨率“Resolution”值了的。有心读者读到这里和看到下面的图片时,应该会有两个疑惑。 Resolution和Scale的计算公式是什么? 为什么同一份已经切好了的瓦片,在ArcGIS Rest服务和WMTS服务的比例尺不一样? 一、 Scale和

ArcGIS中的style样式的使用

爱⌒轻易说出口 提交于 2020-01-22 08:19:03
MapGIS安装包大小(以M计算)与ArcGIS (以G计算)在数量级存在差异,就可以隐约知道ArcGIS功能的强大。ArcGIS更注重重用(比如符号库、模块等)、数据与制图分离(尤其是制图表达最能体现这一点),如果用惯了ArcGIS,再去使用MapGIS等其他软件,就会各种不习惯。本文来讲解一下符号库的使用。 符号库可以做什么? 就目前的的认识我经验而言,ArcGIS中的符号库有以下作用: (1)自定义符号样式 。ArcGIS系统默认的符号库可能不能满足行业或具体项目的需要,为体现自己的特色,用户可以根据相关行业规范和设计理念制作自己的符号并存储在符号库(style文件)中; (2)符号的重用 。不管是应用还是编程,重用思想非常重用。如果定义了标准符号库,就可以在类似的项目中直接使用,或者方便地分享给其他人(只需要将style文件拷贝给他人,放在任意位置,如果使用了某些特殊字体、样式,还需将字体也安装上); (3)提高符号化效率 。例如,我要制作100幅地图,每幅地图数据名称、类型一样,符号化一样,只是数据所表示的地理位置有差异,如果对道路符号化,我们可能会重复操作100次,但如果自己定义了相关的符号,则它会自动关联而实现符号化。(详见下文实例) 符号库如果制作? 分享以前整理的符号库和自定义符号的方法: 一些arcgis符号库干货 ArcGIS中定义图框样式 符号库怎么使用?

ArcGIS Engine中加载数据

自作多情 提交于 2020-01-21 10:25:51
ArcGIS Engine中加载数据 http://blog.csdn.net/gisstar/article/details/4206822 分类: AE开发积累 2009-05-21 16:49 1118人阅读 评论 (0) 收藏 举报 database 数据库 server user 工作 class 1.加载Shapefile数据 1 IWorkspaceFactory pWorkspaceFactory; 2 IFeatureWorkspace pFeatureWorkspace; 3 IFeatureLayer pFeatureLayer; 4 5 //获取当前路径和文件名 6 OpenFileDialog dlg = new OpenFileDialog(); 7 dlg.Filter = "Shape(*.shp)|*.shp|All Files(*.*)|*.*"; 8 dlg.Title = "Open Shapefile data"; 9 dlg.ShowDialog(); 10 string strFullPath = dlg.FileName; 11 if (strFullPath == "") return; 12 int Index = strFullPath.LastIndexOf("//"); 13 string filePath =

arcgis for javascript之ArcGISDynamicMapServiceLayer图层控制的实现

白昼怎懂夜的黑 提交于 2020-01-20 20:01:39
图层控制是非常多GIS系统里面必须的一个小功能,本文就说说arcgis for javascript下ArcGISDynamicMapServiceLayer图层控制的实现方式。首先看图: 实现效果 重点有下面两点:1、获取ArcGISDynamicMapServiceLayer的图层;2、控制图层的显示。 图层的获取可通过layerInfos实现,图层的显示通过setVisibleLayers实现,源码例如以下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/> <title>Simple Map</title> <link rel="stylesheet" href="http://localhost/arcgis_js_api/library/3.9/3.9/js/esri/css/esri.css"> <style type="text/css"> @import "http://localhost/arcgis_js_api/library/3.9/3.9/js

ArcGIS Javascript 异常之No 'Access-Control-Allow-Origin' header

此生再无相见时 提交于 2020-01-20 08:53:06
本文只描述现象与处理措施,不讨论原理。 开发过程中遇到此异常,查询后网上说是跨域访问的问题,给出的解决方案是通过JQuery的跨域访问机制来解决, 难道我需要直接找ArcGISTiledMapServiceLayer相关代码,去重构吗? 还有给出的解决方案如下,http://resources.arcgis.com/en/help/rest/apiref/config.html,大意就是要设置一下ArcGIS Server服务,可服务是别人的,设置不了。 代码如下,在地图类型切换时需要调用另一个网址,就报出了如下错误。 if (tp == "mp") { //移除之前 map.removeLayer(basemap); //地图 basemap = new ArcGISTiledMapServiceLayer("http://xxx.xxx.xxx.xxx.xxx.xxx"); $("#mptype").val("mp"); map.addLayer(basemap); } 实际上两个图层域名是差不多的,不知道为什么出现这个问题。 后来尝试了下,在地图初始化的时候就实例化两个ArcGISTiledMapServiceLayer,在地图切换的时候进行图层的添加、删除,不进行实例化,即解决问题。 大致代码如下: function loadMap(lnt,lat,zo0o) { zoom

ArcGIS runtime for wpf 部署

人走茶凉 提交于 2020-01-20 08:02:08
简介 ArcGIS runtime for wpf 是一个轻量级的产品,部署方便,甚至可以做到直接部署在U盘中,做到即插即用。 部署一般需要遵循如下几个步骤: 1. 设定部署许可 虽然ArcGIS runtime for wpf的开发是不需要许可,但是部署的时候需要许可。在程序的启动入口处,使用如下代码设定部署许可。 ArcGISRuntime.SetLicense("runtimestandard,101,rud415133273,none,***") 2. 配置相关的资源路径 wpf开发中通常会涉及到调用本地资源,如mpk,tpk等,为了使得应用程序部署后,能在任意位置都能正确的找到数据,在部署前,建议将程序里面调用本地资源的路径换成相对路径。 3. 使用Deployment builder 生成部署文件 wpf开发的程序的部署,有些依赖文件,比如localserver等,通过Deployment builder可以添加和生成项目需要的最少的依赖文件。 如选择部署的平台,部署的功能,如功能没有选择的话,则默认为基本地图功能。 生成的部署文件的目录结构如下: 开发环境的部署调用的是如下的部署文件, C:\Program Files (x86)\ArcGIS SDKs\WPF10.2.3\arcgisruntime10.2.3 4. 工程文件与部署文件混合

ArcGIS 添加 MarkerSymbol 弹出“图形符号无法序列化为 JSON”错误

偶尔善良 提交于 2020-01-20 07:33:02
  今天在做一个demo,向自定义图层中添加MarkerSymbol的时候,弹出“图形符号无法序列化为 JSON”错误,之前都没有出现过这个问题,我们首先来看一看我是怎样去添加图层,然后向图层中添加Graphic的,这个比较简单,直接贴出相关代码。        GraphicsLayer carLayer = new GraphicsLayer(); carLayer.ID = "CarLayer"; carLayer.Renderer = new SimpleRenderer() { Symbol = this.Resources["Medium"] as ESRI.ArcGIS.Client.Symbols.MarkerSymbol }; Graphic carGraphic = new Graphic(); carGraphic.Geometry = new ESRI.ArcGIS.Client.Geometry.MapPoint(Convert.ToDouble("12697297.9815139"), Convert.ToDouble("2577264.46557406"), new ESRI.ArcGIS.Client.Geometry.SpatialReference(102100)); carLayer.Graphics.Add(carGraphic);