arcgis

BackgroundWorker OnWorkCompleted throws cross-thread exception

送分小仙女□ 提交于 2019-11-28 10:32:10
I have a simple UserControl for database paging, that uses a controller to perform the actual DAL calls. I use a BackgroundWorker to perform the heavy lifting, and on the OnWorkCompleted event I re-enable some buttons, change a TextBox.Text property and raise an event for the parent form. Form A holds my UserControl. When I click on some button that opens form B, even if I don't do anything "there" and just close it, and try to bring in the next page from my database, the OnWorkCompleted gets called on the worker thread (and not my Main thread), and throws a cross-thread exception. At the

ArcGIS切片技巧及注意事项三之高级工具应用

泄露秘密 提交于 2019-11-28 07:28:55
1 - 修改已经发布缓存服务的缓存级别 如上图所示,红箱子里有很多缓存管理的工具,这里我们要用的是里面的管理地图服务器缓存比例。 下图中,服务器输入本机,然后选择我们需要调整比例尺级别的服务,这个工具适用于我们的缓存已经发布,例如我们已经发布到500比例尺,现在我们想将缓存发布到200比例尺,这里我们追加一个200比例尺,然后在到我们服务缓存发布界面单独发布200比例尺的缓存即可。 2 - 单独更新或追加某一比例尺级别的缓存 单独更新某一级别的缓存,(如果是追加一个缓存级别,则用1.2.2里的方法先增加一个缓存级别再进行本步操作)如下图,点击更新缓存 如下图:选择要单独发布的缓存级别即可 3 - 发布google里截图配准的地形图服务切片 1) - 只有缓存文件没有数据源服务发布 a) 新建一个mxd文件,文件里新建一个图层组即可 b) 设置mxd的坐标系与缓存文件坐标系一致 c) 设置mxd的数据框范围,数据框范围应和缓存文件大致一致(新建mxd的默认范围会导致缓存在web里无法加载) d) 服务发布的名称应与缓存文件名称一致(也可以直接修改缓存文件名称) e) 注意缓存文件里,arcgiscache目录下服务名称下一级目录的名称是Layers还是图层,mxd里图层根目录名称应跟缓存目录下的该名字一致(中文版本里mxd根目录是“图层”,英文版本为“Layers”)

ArcGIS切片技巧及注意事项二之MXD文档与切片相关配置

时间秒杀一切 提交于 2019-11-28 07:28:28
MXD文档与缓存相关配置 在arcmap打开test服务对应的地图文档test.mxd。 1) - 地图单位的设置 右键点击左侧图层列表的根“图层”(Layers),选择“属性”->选这“常规选项卡”。如下图所示,在单位位置,两个都选择“米”(Meter),设置完点确定 2)- 设置地图的默认范围 右键点击左侧图层列表的根“图层”(Layers),选择“属性”->选这“数据框”选项卡。如下图所示,选择其他,选指定范围。 指定范围常用的有三种,如下图所示, a) 当前可见范围,即我们mxd当前看到的地图范围,选这种的时候,建议选择250000这种整数比例尺,且管网数据在地图中央。 b) 要素的轮毂,即包含某一图层所有数据的最大范围。 c) 自定义范围,手动输入或者通过其他三种范围来自动调整该范围值 3) - 坐标系的设置 右键点击左侧图层列表的根“图层”(Layers),选择“属性”->选这“坐标系”选项卡。如下图所示。一般来讲我们的数据源已经含有坐标系了,将数据源图层加入到arcmap中时,地图已经含有数据源本身带的坐标系了。 如果我们的数据源坐标系是unknow时,我们需要给数据源定义坐标,在加入数据到mxd文档中,这样才能正确发布缓存。如果服务只用来和其他服务叠加,我们在下图中红色框位置选择和其他服务一样的坐标系即可(对于多数城市我们并不知道坐标系

arcgis python 表属性转html

主宰稳场 提交于 2019-11-28 06:01:56
import arcpy import sys import string import os tablePath = arcpy.GetParameterAsText(0) filePath = arcpy.GetParameterAsText(1) outfile = open(filePath, "w") fields = arcpy.ListFields(tablePath) fieldNames = [] for field in fields: if (field.type <> "Geometry" and field.type <> "BLOB"): fieldNames.append(field.name) outfile.write("<table border=""1"">\n") outfile.write("<tr>\n") for fieldName in fieldNames: outfile.write("<th>" + fieldName + "</th>\n") outfile.write("</tr>\n") for row in arcpy.da.SearchCursor(tablePath, fieldNames): outfile.write("<tr>\n") for value in row: outfile.write(u"<td>

arcgis python 一个mxd打包mpk

不打扰是莪最后的温柔 提交于 2019-11-28 03:25:16
def onempk(fileName): if fileName: mxd = arcpy.mapping.MapDocument(fileName) else: mxd = arcpy.mapping.MapDocument("current") fileName=mxd.filePath filepath, filename = os.path.split(fileName) b=False if mxd.title==None: mxd.title="yl create"+filename b=True if mxd.description==None: mxd.description="yl auto create"+filename b=True elif mxd.description=="": mxd.description="yl auto create"+filename b=True if mxd.author==None: mxd.author="yanlei auto create" b=True if mxd.summary==None: mxd.summary="yanlei auto create summary" b=True if mxd.relativePaths==False: mxd.relativePaths=True b=True if

ArcGIS Server访问量过大时,lsass.exe进程占用CPU内存过高。

て烟熏妆下的殇ゞ 提交于 2019-11-28 01:57:41
问题描述: 当 ArcGISServer .NET 应用程序和 IIS 服务访问量过大时(每秒超过 25 个并发请求), LocalSecurity Authority Subsystem Service (lsass.exe) 系统进程就会变得负担过重 . 这个能造成系统性能下降,在极端的情况下,在如此大的负载情况下系统运行超过 12 个小时,服务器会死机。 原因: ArcGISServer .NET Web 应用程序和服务必须运行在 AGSUSERS 或 AGSADMIN 工作组下。通常的情况下,创建应用程序或者服务是通过 ArcGIS Server 的 Web 应用程序或者 Catalog 完成,它们是被当作一个 aspnet 进程处理的。 ArcGISServer 组件处理 Internet 服务请求,例如: http://myArcGISServer/arcgis/services 或者 http://myArcGISServer/arcgis/rest ,或者自己的 Web 服务,使用过 ArcGIS Web Services 账户运行的。 每当一个 Web 应用程序或者 Web 服务处理一个请求的时候,在 ASP.NET 工作进程下必须通过 lsass.exe 去认证。在正常负责条件下,这些认证操作是没有问题的。但是当访问量过大的时候

ArcGIS超级工具1.6升级说明

拈花ヽ惹草 提交于 2019-11-27 21:44:07
ArcGIS 超级工具1.6升级说明:多了:7个工具,总82工具,只支持ArcGIS10.2以上的版本 1.6 Excel 转点 支持Excel的xls和xlsx,自动识别工作表和字段名,生成点 5.6 MXD 检查: 检查一个文件夹下,所有MXD的图层数据源是否存在 5.7 MXD 中查找和替换: 对一个MXD中所有图层中要素和布局视图中元素,查找和替换,不输入文档是当前文档。 5.8 按当前MXD批量符号化: 按当前MXD,对一个文件夹下所有的GDB或则MDB,批量符号化,保存的MXD和数据库名称一样,不设置比例尺,按定位数据范围的全图显示,设置按指定的比例尺。 5.9 PDF 合并:把多个PDF按顺序合并成一个PDF 5.10 把多个MXD批量导出一个PDF 9.9 批量定义坐标系: 对一个文件夹下所有矢量(要素类,要素数据集),或栅格数据集批量定义坐标系,你务必确保定义的坐标系是正确的。一般定义过的,不在定义 修改完善 9.1 两个图层按重叠度赋属性,速度更快,原来的保留为两个图层按重叠度赋属性old 11.1获得工具箱的工具数,原来的速度慢。 来源: https://www.cnblogs.com/gisoracle/p/11378814.html

ArcGIS教程:最小值和最大值条形图

不想你离开。 提交于 2019-11-27 20:33:13
  最小值和最大值条形图用于显示与地理数据相关联的最小值和最大值。例如,可显示特定时刻在不同水文站观测到的沿溪流或河流的最小及最大排水量值。与条形图相似,最小值和最大值条形图也用于以单独的条柱显示离散数据,不同的是,各个条柱并不是“落在”x 轴上,而是以最小值开始,并以最大值结束。最小值和最大值条形图不仅可以将彼此的量值进行比较,而且还可以显示系列的最小值和最大值。    步骤:   单击视图菜单,指向图表,然后单击创建图表 。   单击图表类型下拉箭头,然后选择最小值和最大值条形图。创建最小值和最大值条形图的步骤与创建垂直或水平条形图的步骤相似。主要差异在于,对于最小值和最大值条形图来说,需要指定最大值和最小值字段。   单击图层/表下拉箭头,然后选择含有要绘成图表的数据值的图层或表。   单击最大值字段下拉箭头,然后选择要绘成最大值的数据字段。   单击最小值字段下拉箭头,然后选择要绘成最小值的数据字段。   图表中的条块最初按源表中数据值的顺序排列。可使用 X 字段参数将条的顺序更改为基于另一个字段。   X 标注字段可用于指定一个不同的字段来标注图表中的条,通常为文本(字符串)字段。   垂直轴与水平轴下拉列表可用于设置标注轴的属性。   默认情况下,输入数据的值将被添加到图表的图例中。可通过取消选中添加到图例复选框来禁用此设置。   单击显示标注(标记)

Confine dragging of Google Maps V3 Marker to Polyline

自作多情 提交于 2019-11-27 20:14:40
I've created a Google Map and have drawn a polyline on it. I've then added a marker to the start of the polyine (same coords as the starting coords of the polyline). What I'd like to be able to do, is grab and drag the marker but have it "stick" to the polyline such that you can only drag it along the polyline and not away or to the side of it. Is it possible to confine a draggable marker to a path in GM V3? If not, can anyone think how this might be done? There's the possibility of snapping the marker to the nearest point on the path when the user drops it, but I'd prefer a smoother "drag

arcgis python 刷新

醉酒当歌 提交于 2019-11-27 18:34:34
arcpy.RefreshActiveView() 刷新地图和布局窗口 arcpy.RefreshTOC() 刷新内容列表 arcpy.RefreshCatalog(r"F:\tknew106\tool") 刷新目录树 来源: https://www.cnblogs.com/gisoracle/p/11372348.html