Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中的Arcgis:每次执行时都会更改颜色。如何设置填充颜色?_Python_Colors_Arcgis - Fatal编程技术网

Python中的Arcgis:每次执行时都会更改颜色。如何设置填充颜色?

Python中的Arcgis:每次执行时都会更改颜色。如何设置填充颜色?,python,colors,arcgis,Python,Colors,Arcgis,我想用特定的颜色在地图上画一个多边形。阅读中的文档后: ,我无法选择正确的填充颜色。事实上,对于相同的代码,颜色在每次执行中都会发生变化 下面是一些示例代码: import arcgis from arcgis.gis import GIS from arcgis.geometry import Geometry, Point, Polyline from arcgis.mapping import create_symbol gis = GIS() map1 = gis.map(locati

我想用特定的颜色在地图上画一个多边形。阅读中的文档后: ,我无法选择正确的填充颜色。事实上,对于相同的代码,颜色在每次执行中都会发生变化

下面是一些示例代码:

import arcgis
from arcgis.gis import GIS
from arcgis.geometry import Geometry, Point, Polyline
from arcgis.mapping import create_symbol

gis = GIS()
map1 = gis.map(location=(39.456727, -0.352371), zoomlevel=15)
map1.basemap = "osm"


geom = Geometry({'spatialReference': {'latestWkid': 4326,
    'wkid': 4326},
    'rings': [
    [
            [-0.3524, 39.4566],
            [-0.3524, 39.4568],
            [-0.3522, 39.4568],
            [-0.3522, 39.4566],
            [-0.3524, 39.4566],
        ]
    ]
})
symbol = create_symbol(geometry_type='polygon', colors=[0, 255, 0])  # green

map1.draw(geom, symbol=symbol)
map1.export_to_html("test.html")
如果执行此操作并用浏览器打开
test.html
,我可以看到:

如果我再次执行相同的代码并打开
test.html
,颜色会神奇地改变:

因此,有两个问题: 1) 为什么每次执行时颜色都会变化?
2) 如何设置正确的颜色?我正在将颜色设置为
[0,255,0]
,但它不起作用

要正确设置区域和点的颜色,我发现您可以使用alpha通道在
颜色
参数中添加第四个参数:

symbol = create_symbol(geometry_type='polygon', colors=[0, 255, 0, 255])  # green
根据文档中的说明,alpha值应该在0-1范围内,但这应该是一个错误,因为只有将值放在0-255范围内,它才起作用


如果不添加alpha通道,
colors
参数将被视为无效,并向其指定一个随机值。这就是每次执行时颜色变化的原因

为了正确设置区域和点的颜色,我发现可以在带有alpha通道的
颜色
参数中添加第四个参数:

symbol = create_symbol(geometry_type='polygon', colors=[0, 255, 0, 255])  # green
根据文档中的说明,alpha值应该在0-1范围内,但这应该是一个错误,因为只有将值放在0-255范围内,它才起作用

如果不添加alpha通道,
colors
参数将被视为无效,并向其指定一个随机值。这就是每次执行时颜色变化的原因