标签: arcmap

如何使用正则表达式从python中删除字符串中的标签?(不是HTML)

我需要从python中的字符串中删除标签.

<FNT name="Century Schoolbook" size="22">Title</FNT>
Run Code Online (Sandbox Code Playgroud)

删除两端的整个标记的最有效方法是什么,只留下"标题"?我只看到过使用HTML标签做到这一点的方法,而这在python中对我没用.我正在使用这个特别适用于GIS程序ArcMap.它有自己的布局元素标签,我只需删除两个特定标题文本元素的标签.我相信正则表达式应该可以正常使用,但我对任何其他建议持开放态度.

python strip arcmap

12
推荐指数
2
解决办法
2万
查看次数

返回两个下划线之间的字符

我想提取两个下划线之间的字符串。“_”之间和两侧的字符数量会有所不同,但只会有两个下划线。带下划线的长字段是文本字段,要填写的字段是短整数。我已经能够解析下划线之前和之后的字符并填充要素类中的其他字段,但无法将中间部分放入新字段中。

示例1:102_1204_234324

我想返回“1204”

示例2:324423_1_342

我想返回“1”

我尝试了多种变体,我认为应该有效的一种是:

# Import system modules
import arcpy
#from arcpy import env

# Set environment settings
arcpy.env.workspace = "c:/temp/testing.gdb"

# Set local variables
inFeatures = "testFeature"
fieldName = "testField"
expression = "!parse_field!.split('_')[1::2]"

# Execute CalculateField 
arcpy.CalculateField_management(inFeatures, fieldName, expression, "PYTHON", "")
Run Code Online (Sandbox Code Playgroud)

我认为会创建一个列表,然后返回列表中的每个第二个元素。然而要填写的字段(testField)仍然是空的。

谢谢-阿尔

string substring arcmap python-2.7 arcpy

7
推荐指数
1
解决办法
7349
查看次数

TS2564 属性 mapViewEl 没有初始值设定项

我正在努力获取适用于 Angular (v4) 的 ArcMap Javascript,以在 Angular (v10) 项目中显示地图。我发现的所有代码示例(此处ESRI 官方此处、stackblitz此处)都非常相似。viewChild 是这样创建的:

export class EsriMapComponent implements OnInit, OnDestroy {
@ViewChild("mapViewNode", { static: true }) private mapViewEl: ElementRef;
view: any;
constructor() { }
Run Code Online (Sandbox Code Playgroud)

但我的 IDE 告诉我TS2564 Property mapViewEl has no initializer and is not definitely assigned in the constructor

我可以将此行更改为:

@ViewChild("mapViewNode", { static: true }) private mapViewEl!: ElementRef;
Run Code Online (Sandbox Code Playgroud)

地图已绘制,但我不喜欢删除 Typescript 保护,特别是因为我在网上找到的任何工作示例都没有这样做。

esri-map.component.html 非常简单:<div #mapViewNode></div>

如何修复 TS2564 错误?

arcmap typescript angular

5
推荐指数
1
解决办法
1610
查看次数

VB.NET嵌入式DLL在另一个DLL中作为嵌入式资源?

我已经在C#中看到了这个,比如这里,虽然我似乎无法弄清楚如何在VB.NET中做到这一点.对于某些背景,我创建了一个自定义ComboBox控件作为.dll,我需要在另一个.dll(ArcMap组件)中实现它.

遗憾的是,ArcMap不允许将"第三方"DLL与组件一起加载,因为没有选项可以为您的加载项引用任何第三方程序集.

如果有人能指出我正确的方向,那将是非常值得赞赏的.

vb.net dll arcmap embedded-resource

4
推荐指数
1
解决办法
7834
查看次数

从栅格图像创建numPy数组

我正在尝试将4频段(RGB和nr红外)光栅图像转换为ArcMap中的numPy数组.一旦成功转换为numpy数组,我想计算图像上没有数据的像素数.在ArcMap中检查时,这些像素的颜色标记为"无",它们显示为黑色,但它们缺少来自1,2或3的红色,绿色和/或蓝色通道数据.我需要找到它们.

这是我到目前为止所拥有的:

import numpy
import os

myDir = "C:\\Temp\\temp"
# myFile = "4_pixel_test.tif"
myFile = "4band.tif"

# import 4band (R,G,B & nr Infrared) image
fName = os.path.join(myDir, myFile)
head, tail = os.path.split(fName)


# Convert Raster to Array, Default using LowerLeft as Origin
rasArray = arcpy.RasterToNumPyArray(fName)

# find out the number of bands in the image
nbands = rasArray.shape[0] # int
# print nbands (int)

blackCount = 0 # count the black pixels per image
th = 0 # Threhold value …
Run Code Online (Sandbox Code Playgroud)

python numpy arcmap

3
推荐指数
1
解决办法
2035
查看次数

开发ArcMap扩展.Net书籍?

我们的部门有两位新的GIS程序员/分析师(编程和ArcObjects的新手),我觉得我没有足够的资格或没有时间教他们.所以我正在寻找入门级书籍/教程供他们作为参考.

我可以找到用于开发ArcMap扩展的唯一书籍是为VBA编写的.

除了您从Redlands的培训中获得的ESRI课程书籍之外,是否有人知道学习在.Net中对ArcObjects进行编码的良好来源?

谢谢

.net arcobjects esri arcmap

2
推荐指数
1
解决办法
3249
查看次数

如何在ArcObjects中将ILayer转换为IPolygon

无法将Ilayer转换为IPolygon.

我正在为ArcMap开发一个工具栏,我通过侧面目录中的代码获取一个图层.图层是多边形,但代码不会将其转换为IPolygon.

谁能帮我吗?这是我用来尝试将其转换为IPolygon的代码...

 IPolygon poly = m_document.Maps.get_Item(0).get_Layer(0) as IPolygon;
Run Code Online (Sandbox Code Playgroud)

我可以做这个:

 ILayer layer = m_document.Maps.get_Item(0).get_Layer(0) as ILayer;
Run Code Online (Sandbox Code Playgroud)

这是有效的,只是不将它转换为IPloygon ..

c# arcobjects esri arcmap

1
推荐指数
1
解决办法
2715
查看次数

导入arcpy导致ImportError:无法导入名称shares_memory

我最近将我的ESRI ArcDesktop软件升级到10.5版,但是现在当我运行任何需要导入arcpy模块的python脚本时,我收到以下错误:

>>> import arcpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files (x86)\ArcGIS\Desktop10.5\ArcPy\arcpy\__init__.py", line 20, i
n <module>
    import numpy
  File "c:\python27\ArcGIS10.5\lib\site-packages\numpy\__init__.py", line 142, in <mod
ule>
    from . import add_newdocs
  File "c:\python27\ArcGIS10.5\lib\site-packages\numpy\add_newdocs.py", line 13, in <m
odule>
    from numpy.lib import add_newdoc
  File "c:\python27\ArcGIS10.5\lib\site-packages\numpy\lib\__init__.py", line 8, in <m
odule>
    from .type_check import *
  File "c:\python27\ArcGIS10.5\lib\site-packages\numpy\lib\type_check.py", line 11, in
 <module>
    import numpy.core.numeric as _nx
  File "c:\python27\ArcGIS10.5\lib\site-packages\numpy\core\__init__.py", line 21, in
<module>
    from . …
Run Code Online (Sandbox Code Playgroud)

python numpy matplotlib arcmap arcpy

1
推荐指数
1
解决办法
1401
查看次数