ArcGIS操作与开发
文章平均质量分 61
ArcGIS操作与开发,包含ArcGIS的一些重点操作,和Web和移动端的开发
GIS开发者
辽宁工程技术大学硕士研究生毕业,长期从事WebGIS、移动GIS开发工作,全栈 (前端、后端、Android、小程序、H5),现任某地理信息公司研发部经理,叩叩965894265
展开
-
三维格式CAD转换成ShapeFile格式数据
最近遇到一个使用CAD制作的三维停车场,模型非常的精美。之前没有接触过CAD三维方便的东西,从来没有想过,CAD还可以用来制作类似的模型。模型虽然精美,但是对于GIS开发来说,确实没法直接使用的。如果直接使用ArcGIS 打开,几乎看不到任务有用的信息、几何体。所以需要转成二维的CAD图纸,才方便提取GIS开发所需的数据。这里介绍一下如何将三维的CAD图纸,转换为ArcGIS的ShapeFile格式。原创 2022-10-24 09:57:52 · 751 阅读 · 0 评论 -
利用GDAL对GRIB2数据进行矢栅叠加,并输出统计数据
遇到一个这样的需求。有一个包含多个天的GRIB2气象降雨数据,和一个河南省市级区划shp文件,需要统计每个市对每一天的最大降水值,并写入到Excel中,数据情况如下图所示:突然遇到这个问题,短时间内觉得还是比较麻烦的。原创 2022-10-11 19:28:47 · 1197 阅读 · 0 评论 -
使用ArcGIS生成栅格数据的等值线与数值标注
我们经常会遇到,有一个栅格影像或者DEM,需要生成等值线,并在上面显示等值线的值。并且等值线和显示的值需要分别以线和点/注记的方式存储,方便开发或服务发布时使用。这里我介绍一下如何使用ArcGIS,实现这种效果。原创 2022-09-27 08:36:12 · 10355 阅读 · 0 评论 -
ArcGIS Python工具箱集成第三方模块的解决办法
在ArcGIS中开发Python工具箱时,引入ArcPy开发一些空间处理工具和逻辑是没有问题。但是,在更复杂的场景下,就需要依赖其他的Python模块来实现,例如读写word、查询PostgreSQL数据库等。在Python工具箱的代码里引入其他Python模块时,语法检查中,会报下面的错误...原创 2022-06-30 15:23:11 · 1726 阅读 · 6 评论 -
ArcGIS 中创建自定义python工具箱
如果你觉得使用ArcGIS的Model Builder还无法满足你定制化的处理流程,可以考虑以下使用ArcGIS中带的python工具箱。通过它可以python代码的形式,调用ArcGIS 工具箱中的东西,也就是ArcPy,对于特殊的应用场景十分方便。开发人员可以将自己的逻辑,封装为一个工具,直接提供其他电脑上安装ArcGIS的人员使用。...原创 2022-06-28 20:03:41 · 2604 阅读 · 0 评论 -
ArcGIS Python工具箱中文乱码的解决办法
最近在使用Python开发ArcGIS的一些小工具,主要使用Python工具箱编程实现。但是乱码问题一直很严重,工具的名称、工具输入参数的名称等。不解决乱码问题,代码里如果有中文,虽然ide里没有问题,但是在Python工具箱的语法检查也会报下面的错误。在网上有两篇博文,写的相对比较复杂,难以理解,这里我记录一个简单的解决办法。...原创 2022-06-28 19:00:19 · 1000 阅读 · 2 评论 -
ArcGIS加载免费在线历史影像作为底图(不需要插件)
在使用ArcGIS进行出图时,计划在ArcMap里添加栅格影像底图。但是自己没有那么大范围的影像,计划寻找在线的资源,ArcGIS Online里的资源还需要登录,添加谷歌等又需要给ArcGIS安装插件。最后,从网上一个文章找到的解决方案,但是文章并没有提供相关的资源网址。自己想办法实践了一遍,这里介绍一下。...原创 2022-06-23 19:17:28 · 10270 阅读 · 4 评论 -
ArcGIS Runtime API for Android100.13.0加载TPK包、Runtime包、WMS地图服务、三维模式
ArcGIS Runtime API for Android 一直在升级,写法和用法和之前也有很大的变化。这里简单介绍一下使用ArcGIS Runtime API for Android100.13.0加载各类数据源。加载TPK包Tile package(TPK):包含地图文档的缓存数据,也就是切片后的数据,TPK一方面便于用户或组织在ArcGIS Online上分享数据,另一方面也为离线条件下访问数据提供一种方案。使用ArcMap就可以生成。 MapView mMapV原创 2022-04-19 12:34:42 · 3436 阅读 · 1 评论 -
使用ArcMap 生成TPK和geodatabase包
在进行ArcGIS Runtime API for Android(100.12.0) 二次开发时,发现现在支持.tpk和.geodatabase等多种格式的离线数据,其中mmpk只有使用ArcGIS Pro才能生成,这里我简单介绍一下如何使用ArcMap10.8.1生成tpk和geodatabase包环境windows 10ArcGIS 10.8.1准备直接打开ArcMap是无法找到生成TPK和geodatabase的入口的,需要先在ArMap菜单栏点击,自定义——ArcMap 选项 ,.原创 2022-03-09 08:55:00 · 4254 阅读 · 1 评论 -
ArcGIS 多个面要素合并,提取外轮廓
问题最近遇到一个问题,想要A省的边界shape,但是只有A省下所有县的边界shape,一直都觉得把所有的县合并了就是省边界了,很简单的事,今天用ArcGIS操作起来,才发现不只是合并这个简单。操作过程如下,主要用到ArcGIS ArcTooBox中的Merge(融合)和Dissolve(溶解)工具,具体过程如下:过程 数据准备 进行merge操作,ArcTooBox->Data Management Tools->General->Merge融合结果,看起...原创 2021-04-17 23:21:40 · 31075 阅读 · 4 评论 -
ArcGIS ArcTooBox中的工具执行没有结果的处理办法
问题最近,使用ArcGIS ArcToolBox中的工具进行了裁剪和融合等操作,等了半天也都没有处理结果出来,用很小的数据量也是没有反应。从菜单栏Geoprocessing-> Results中查看的处理一直在进行中。测试了ArcGIS 10.7和10.3两个版本都是这样。最后发现这个问题,只要把ArcGIS的后台处理功能关闭就可以了。解决方案点击菜单栏Geoprocessing->Geoprocessing Options ,在弹出的面板中,把Background Processi原创 2021-04-17 22:46:04 · 9735 阅读 · 20 评论 -
ArcGIS API for JS4.8绘制点、线、面、矩形、圆
使用ArcGIS API for JS4.8绘制点(Point)、线(Polyline)、面(Polygon)、矩形(Rectangle)、圆(Circle),使用Draw绘制,具体代码如下:<!DOCTYPE html><html><head> <meta charset="utf-8"/> <title>A...原创 2018-08-03 10:47:45 · 10536 阅读 · 13 评论 -
ArcGIS Desktop 10.3制作网络数据集,并通过ArcGIS Server发布为NAServer
准备工作数据:使用的在在网上找的中国主要铁路网,shapfile格式。 软件:ArcGIS Desktop 10.3、ArcGIS Server10.3 数据存储:因为要发布到Server,数据放在SQL Server2017中,并已建立好空间数据库数据制作结束 到此,网络数据集的制作与发布已经完成了,下一文会说如何在前端html进行调用与分析在数据库中新建要素数据集,任意命...原创 2018-08-07 17:59:17 · 2733 阅读 · 7 评论 -
ArcGIS API for JS 4.8二维高亮无效与FeatureLayer注记不显示的问题
问题发现 ArcGIS API for JS 4.8会出现一个问题,添加进来的FeatureLayer在三维模式下,点击高亮显示,在二维下点击就无高亮的效果。当使用labelingInfo注记要素图层的时候也会出现这个问题,在三维下注记显示,在二维下注记不显示。问题研究 查看官方的API发现,这两个功能都需要WebGL的支持,三维下默认是WebGL渲染,二维下需要代码...原创 2018-08-03 09:14:40 · 2599 阅读 · 0 评论 -
OpenGL ES2.0实现按住屏幕平移/拖拽视图Android
本篇博文主要是实现用手指拖动OpenGL ES2.0绘图的屏幕,在使用了正摄投影与平移矩阵相结合,捕捉视图的move事件,将手指滑过的屏幕坐标转为绘图坐标系坐标,根据差值,对OpenGL ES绘图坐标系进行平移,从而得到需要的结果。效果图如下图所示:核心代码如下:1主要是计算点击事件的坐标差值,最后传递给Render @SuppressLint("ClickableViewAcc...原创 2018-10-09 15:56:03 · 1456 阅读 · 0 评论 -
ArcGIS API for JavaScript4.8 FeatureLayer编辑
简要说明主要是在官方的demo上修改的 使用的是ArcGIS Server发布的FeatureService 主要是点要素的编辑,面线等其他要素的编辑方法类似,不同之处在于添加要素前绘制Graphic代码如下:<!DOCTYPE html><html><head> <meta charset="utf-8"> &...原创 2018-08-07 11:42:05 · 3115 阅读 · 6 评论 -
ArcGIS API for JS4.8二维地图状态控制
包括地图的缩放、旋转、平移。下面只写了禁止的方法,开启的方法对应着自己开发吧!//二维视图 var view = new MapView({ map: map, container: "viewDiv", constraints: { rotationEnabled: fa...原创 2018-08-03 12:00:24 · 1923 阅读 · 0 评论 -
ArcGIS API for JS4.8通过本地ArcGIS Server的打印服务进行地图打印
在官网ArcGIS API demo中看到了地图打印的例子,打印功能的组件各种选项已经做得很全面了,demo用的是ArcGIS Online的打印服务,如果在内网开发的话,这样肯定是不行的。 var print = new Print({ view: view, // specify your own print service ...原创 2018-08-03 15:45:16 · 2175 阅读 · 2 评论 -
ArcGIS API for Javascript4.8 路径网络分析、最短路径查询
本文所使用路径分析服务的数据与服务可以在ArcGIS Desktop 10.3制作网络数据集,并通过ArcGIS Server发布为NAServer中找到。使用ArcGIS API for JavaScript4.8调用该服务进行查询。结果如下图:代码是在官方demo上修改来的,官方的demo是需要设备代理服务器,才能显示效果的,这里我直接设置了ArcGIS Server允许跨域,所以不需...原创 2018-08-08 09:30:33 · 4817 阅读 · 4 评论 -
ArcGIS Desktop10.3位置分配,选址分析
ArcGIS Desktop10.3进行位置分配分析,首先要准备好一个本地网络数据集,可以参考ArcGIS Desktop 10.3制作网络数据集,并通过ArcGIS Server发布为NAServer。 位置分配、选址分析主要是通过添加待选地点、需求点,然后通过你设置的各类权重参数,本文的权重是距离,从你设置的待选地点中选出到所有需求点距离之和最小的点。首先,...原创 2018-08-08 10:21:13 · 11271 阅读 · 4 评论 -
ArcGIS API for JavaScript4.9新特性
ArcGIS API for JavaScript4.9在9月份出来了,对于开发者还是有很重要的更新的。 2D地图WebGL全面支持(重要) 这个功能还是挺有用的,在4.8的时候,还是仅仅支持ArcGIS Portal和ArcGIS Enterprise10.6以上版本的要素服务使用WebGL渲染的,而且还是需要太头部添加启用WebGL的标志。在4.9不用了,4.9二维地图默认采用Web...原创 2018-09-30 10:33:38 · 1236 阅读 · 0 评论 -
SQL Server上的SDE空间数据库迁移
最近需要把ArcGIS Server在使用的一堆数据库的数据库传输给别人,这些数据存储在SQL Server上的企业级空间数据库中。一个一个导出来,在别人的电脑上导入比较麻烦,而且有的ArcGIS在导入SQLServer时还会出现bug。最近做了一次尝试,直接把SQLServer数据库迁移到了目标计算机。1.关掉电脑上正在使用SQL Server的程序,包含ArcGIS Server。2....原创 2019-03-01 11:29:59 · 513 阅读 · 0 评论 -
ArcGIS for Android加载栅格数据,缩放受限的问题
最近在做ArcGIS移动端开发的时候,发现加载的影像在APP中只能缩放1或2级,有时候还不能缩放 FileRasterSource rasterSource = new FileRasterSource( Environment.getExternalStorageDirectory() + File.separator + "Download" +原创 2016-08-14 15:58:17 · 3750 阅读 · 0 评论 -
Python使用pyshp库读取shapefile信息
通过pyshp库,可以读写Shapefile文件,查询相关信息,github地址为https://github.com/GeospatialPython/pyshp#reading-shapefile-meta-dataimport shapefile # 使用pyshp库file = shapefile.Reader("data\\市界.shp")shapes = file.sha...原创 2018-08-14 11:41:46 · 17863 阅读 · 6 评论 -
ArcGIS API for JS4.8 客户端生成的FeatureLayer查询
FeatureLayer总体上可分为两类,一类是由ArcGIS Server发布的服务构建的FeatureLayer;另一类是由客户端json、graphics等构建的FeatureLayer。 对第一类FeatureLayer进行查询时,通过FeatureLayer.queryFeatures()方法即可完成,详细的查询方式在官网的demo和API里都有。 ...原创 2018-08-06 17:15:15 · 1427 阅读 · 1 评论 -
ArcGIS API for JS4.8点、线、面、圆和多边形缓冲区绘制
ArcGIS API for JS4.8浏览器绘制缓冲区主要通过"esri/geometry/geometryEngine"这个对象实现,其中绘制的方法主要有"buffer()"和"geodesicBuffer()"两个方法实现,参数虽然一样,效果却不一样,可以自己根据需要选择。<!DOCTYPE html><html><head> &l原创 2018-08-06 17:22:03 · 6677 阅读 · 4 评论 -
ArcGIS批量打断相交线
在数据处理时,有时候需要把相交的线全部从交点打断。今天说一下在ArcGIS里 如何实现:最初线的效果如上图所示打开ArcToolBox,找到要素转线工具在弹出的面板中处理选择线要素图层然后确定最终生成断开之后的图层,如下图所示:可以看到,线全部从交点处断开了...原创 2018-06-08 09:01:57 · 14582 阅读 · 3 评论 -
在ArcGIS中,线要素批量加节点
因为实际需要,要对ArcGIS中的线要素批量等距离添加节点。寻找了很久终于找到了解决办法。如下在ArcGIS中打开线要素在ArcToolBox里选择增密在弹出的面板中进行操作,选择需要加密的要素图层,然后选择增密方法 距离/角度/偏移量,这里我选择的是距离,然后输入距离,选择距离单位,这里选择了米最后加密的结果如下所示:...原创 2018-06-06 08:42:46 · 12474 阅读 · 1 评论 -
收集的一些GIS数据网站
(1)MODIS影像数据http://ladsweb.nascom.nasa.gov/data/search.html(AOD数据是采用NASA发布的搭载在Aqua传感器上的MOD04 level 2 C6版本二级的气溶胶数据)(2)PM2.5质量浓度数据http://113.108.142.147:20035/emcpublish/(PM2.5数据来源于全国城市空原创 2016-09-27 18:33:38 · 3163 阅读 · 0 评论 -
ArcGIS栅格裁剪
自己进行了ArcGIS栅格的裁剪,总结了一些小经验:首先需要准备好待裁剪的栅格影像和裁剪范围,这里是博主自己画的面要素然后ArcToolbox——数据管理工具——栅格——栅格处理——裁剪如果选择了使用输入要素裁剪几何,裁剪出的栅格会和裁剪多边形一样,如果没有选择,则裁剪结果是裁剪多边形的外接矩形,前者比后者缺失的地方不是透明的,注意影响使用,两种结果如下:原创 2016-08-14 16:15:45 · 10215 阅读 · 2 评论 -
Shapefile格式数据去除投影坐标系
在处理ArcGIS矢量数据的时候,我们如果需要去掉数据的坐标系,有一个简单的方法1.先把数据转换成Shapefile格式,如果已经是了,就不用转换。一个已经有投影的Shapefile格式数据通常由以下文件组成,如下图:2.上图中的后缀名为prj的文件就是投影信息文件,我们把它删除就可以去掉投影信息,下面两个图是同一个数据删除prj文件后的属性对比:删除后原创 2016-08-13 10:25:13 · 32233 阅读 · 0 评论 -
ArcGIS API for JS 3.16在Windows系统上的离线部署方法
ArcGIS API for JS 3.16在Windows系统上的部署方法要根据开发方式分为两种:在IIS上部署如果你选择Microsoft Visual Studio作为自己的开发工具,那么最好的方法就是在IIS上进行部署。首先就要安装IIS,IIS安装完成后,会在电脑C盘下生成inetput的文件下,这时你就要离线API文件放到C:\inetpub\wwwroot\下;原创 2016-06-12 20:45:10 · 2398 阅读 · 1 评论 -
ArcGIS连接局域网另一台电脑上的SQLServer数据库
1、在另一台电脑上安装SQLServer2012数据库;2、在安装ArcGIS的电脑上安装SQLServer 2012 native client,大小10M;3、在ArcGIS Catalog里添加数据库连接如下图原创 2016-06-10 19:03:17 · 2827 阅读 · 0 评论 -
ArcGIS server注册数据库的问题the data item is inaccessible
在ArcGIS server注册数据库的时候,建立数据库连接后,注册输入库总出现如下图所示问题:这个问题,网上给出了很多答案,各种环境变脸配置,和32位64位的问题,两天多尝试了很多方法都没有解决,最后才根据一个答案。1先给自己建立的数据库连接右键-管理-添加用户2然后在注册数据库的时候,用刚刚添加的用户和密码去登陆然后问题就解决了原创 2016-04-23 14:03:15 · 2265 阅读 · 0 评论 -
ArcGIS10.1直连数据库
ArcGIS从10.1开始支持数据库直连,不用再安装ArcSDE了。我的电脑上装的是SQLserver2012.直连的步骤如下图:原创 2016-04-15 09:47:57 · 1637 阅读 · 0 评论 -
ArcGIS API for JS 4.7开发过程中的跨域问题与解决
之前从事过ArcGIS API for JS 3.x的开发和OpenLayer的开发工作,最近从事ArcGIS JS开发,直接从4.7入手,感觉坑太多,动不动都需要跨域,API本地部署还会提示跨域,ArcGIS Server 的地图服务接入也跨域,而且我的ArcGIS Server还是本机安装的。之前使用GeoServer+Openlayers的时候也从没有遇到这些啊。言归正传,跨域...原创 2018-07-18 15:36:24 · 4640 阅读 · 3 评论 -
ArcGIS API for JS4.7加载ArcGIS Server发布的REST和WMS地图服务
使用ArcGISAPI for JS4.7加载ArcGIS Server发布的REST和WMS地图服务,ArcGIS Server为本机安装,需要提前完成跨域设置。代码如下:<!DOCTYPE html><html><head> <meta charset="utf-8"/> <title>ArcGIS d...原创 2018-07-18 15:45:32 · 4802 阅读 · 1 评论 -
ArcGIS Server10.5单机版WMS服务并发测试,结果想哭
基于前一次对GeoServer的并发测试,-------GeoServer的WMS地图服务高并发测试,与虚拟机内存对并发响应时间的影响这次的计算机配置与上次一致,唯一可惜的就是系统重装了,上次的测试影像丢失了,这次重新下载了一份,大小有变化。测试设置100并发测试显著低于GeoServer,真不明白为什么1000并发测试话说这68%的错误率是哪里来的,查看错...原创 2018-07-18 17:23:54 · 1805 阅读 · 0 评论 -
ArcGIS API for JS4.7加载FeatureLayer,点击弹出信息并高亮显示
我加载的是ArcGIS Server本地发布的FeatureService,ArcGIS API for JS4.7记载FeatureLayer时,在二维需要通过代码启用WebGL渲染,在三维模式下,则不需要。不启用WebGL,则无法显示进行高亮显示。我在二维模式下,高亮接口是没有生效,因此,二维模式下,自己写了一个高亮,三维还是用的自带的高亮。二维模式代码:<!DOC...原创 2018-07-27 17:36:54 · 8149 阅读 · 11 评论 -
使用ArcGIS API for JS4.8调用已发布的服务,实现可视域分析
在ArcGIS Server中发布已构建的可视域分析模型发布为空间处理服务中,我们已经将视域分析的计算发布为服务,发布成功后,打开ArcGIS Server管理页面,找到该服务,找到服务的连接地址。使用ArcGIS API for JS调用该服务,即可进行视域分析。代码如下:<!DOCTYPE html><html lang="en"><head&...原创 2018-08-09 10:42:53 · 3452 阅读 · 8 评论