首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中的Arcgis :每次执行时颜色都会发生变化。如何设置填充颜色?

Python中的Arcgis :每次执行时颜色都会发生变化。如何设置填充颜色?
EN

Stack Overflow用户
提问于 2020-05-20 22:59:58
回答 1查看 215关注 0票数 1

我想在地图上绘制一个具有特定颜色的多边形。在阅读了https://developers.arcgis.com/python/api-reference/arcgis.geometry.html中的文档后,我无法选择正确的填充颜色。实际上,使用相同的代码,每次执行时颜色都会发生变化。

下面是一些示例代码:

代码语言:javascript
复制
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],但它不起作用

EN

Stack Overflow用户

回答已采纳

发布于 2020-05-21 22:55:26

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

代码语言:javascript
复制
symbol = create_symbol(geometry_type='polygon', colors=[0, 255, 0, 255])  # green

根据https://developers.arcgis.com/python/api-reference/arcgis.mapping.html中的文档,Alpha值应该在0-1的范围内,但这应该是一个错误,因为它只有在您将值放在0-255的范围内时才有效。

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

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61916336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档