自定义多边形未在地理视图中绘制

如何解决自定义多边形未在地理视图中绘制

我正在尝试在 Geoviews 中绘制自定义多边形。我希望多边形以 10 度纬度增量跨越地球。我创建的多边形使用以下代码

globeLat = pd.DataFrame(columns = ['zone','geometry'])
for i in range(int(360/10)):
    p1 = [-180,(i*10)-180.00000]
    p2 = [180,(i*10)-180.00000]
    p3 = [180,((i+1)*10)-180.00000]
    p4 = [-180,((i+1)*10)-180.00000]
    pointList = [p1,p2,p3,p4,p1]
    poly = geometry.polygon(pointList)
    globeLat.loc[i] = [(i*15-180),poly]
display(globeLat)

然而,当我尝试在 Geoviews 上绘制此图时,出现错误。我的代码是:

polys = gv.polygons(globeLat,vdims = ['zone']).opts(width = 800,height = 400)

我收到的错误是:

ValueError                                Traceback (most recent call last)
<ipython-input-28-d1c663f14ed1> in <module>
  5 points = data.to(gv.Points,['Longitude','Latitude'],['Temperature(C)'])
  6 # osm_map = gv.tile_sources.OSM
----> 7 polys = gv.polygons(globeLat,height = 400)
  8 oceanMap = gf.ocean()
  9 oceanMap.opts(width = 800,height = 400) * polys * points.opts(tools=['hover'],size=10)

~\Anaconda3\envs\geoviews_test\lib\site-packages\geoviews\element\geo.py in __init__(self,data,kdims,vdims,**kwargs)
108         elif isinstance(data,_Element):
109             kwargs['crs'] = data.crs
--> 110         super(_Element,self).__init__(data,kdims=kdims,vdims=vdims,**kwargs)
111 
112 

~\Anaconda3\envs\geoviews_test\lib\site-packages\holoviews\element\path.py in __init__(self,**params)
262         else:
263             params['vdims'] = vdims
--> 264         super(Contours,**params)
265         if params.get('level') is not None:
266             with disable_constant(self):

~\Anaconda3\envs\geoviews_test\lib\site-packages\holoviews\element\path.py in __init__(self,**params)
 83             data = paths
 84 
---> 85         super(Path,**params)
 86 
 87 

~\Anaconda3\envs\geoviews_test\lib\site-packages\holoviews\element\selection.py in __init__(self,*args,**kwargs)
 19 
 20     def __init__(self,**kwargs):
---> 21         super(SelectionIndexExpr,self).__init__(*args,**kwargs)
 22         self._index_skip = False
 23 

~\Anaconda3\envs\geoviews_test\lib\site-packages\holoviews\core\data\__init__.py in __init__(self,**kwargs)
342                                            datatype=kwargs.get('datatype'))
343         (data,self.interface,dims,extra_kws) = initialized
--> 344         super(Dataset,**dict(kwargs,**dict(dims,**extra_kws)))
345         self.interface.validate(self,validate_vdims)
346 

~\Anaconda3\envs\geoviews_test\lib\site-packages\holoviews\core\dimension.py in __init__(self,**params)
852             params['cdims'] = {d if isinstance(d,Dimension) else Dimension(d): val
853                                for d,val in params['cdims'].items()}
--> 854         super(Dimensioned,**params)
855         self.ndims = len(self.kdims)
856         cdims = [(d.name,val) for d,val in self.cdims.items()]

~\Anaconda3\envs\geoviews_test\lib\site-packages\holoviews\core\dimension.py in __init__(self,id,plot_id,**params)
511             params['group'] = long_name
512 
--> 513         super(LabelledData,self).__init__(**params)
514         if not util.group_sanitizer.allowable(self.group):
515             raise ValueError("Supplied group %r contains invalid characters." %

~\Anaconda3\envs\geoviews_test\lib\site-packages\param\parameterized.py in __init__(self,**params)
   2520 
   2521         self.param._generate_name()
-> 2522         self.param._setup_params(**params)
   2523         object_count += 1
   2524 

~\Anaconda3\envs\geoviews_test\lib\site-packages\param\parameterized.py in override_initialization(self_,**kw)
   1063         original_initialized = parameterized_instance.initialized
   1064         parameterized_instance.initialized = False
-> 1065         fn(parameterized_instance,**kw)
   1066         parameterized_instance.initialized = original_initialized
   1067     return override_initialization

~\Anaconda3\envs\geoviews_test\lib\site-packages\param\parameterized.py in _setup_params(self_,**params)
   1311                 self.param.warning("Setting non-parameter attribute %s=%s using a mechanism intended only for parameters",name,val)
   1312             # i.e. if not desc it's setting an attribute in __dict__,not a Parameter
-> 1313             setattr(self,val)
   1314 
   1315     @classmethod

~\Anaconda3\envs\geoviews_test\lib\site-packages\param\parameterized.py in _f(self,obj,val)
316             instance_param.__set__(obj,val)
317             return
--> 318         return f(self,val)
319     return _f
320 

~\Anaconda3\envs\geoviews_test\lib\site-packages\param\parameterized.py in __set__(self,val)
890             val = self.set_hook(obj,val)
891 
--> 892         self._validate(val)
893 
894         _old = NotImplemented

~\Anaconda3\envs\geoviews_test\lib\site-packages\param\__init__.py in _validate(self,val)
   1386             if min_length is not None and max_length is not None:
   1387                 if not (min_length <= l <= max_length):
-> 1388                     raise ValueError("%s: list length must be between %s and %s (inclusive)"%(self.name,min_length,max_length))
   1389             elif min_length is not None:
   1390                 if not min_length <= l:

ValueError: kdims: list length must be between 2 and 2 (inclusive)

我有一个具有类似设置的 shapefile(有 2 列、区域和几何图形)并且代码可以使用它。但是,当我使用自定义多边形进行尝试时,出现上述错误。我尝试构建多边形以绘制图形的方式有问题吗?链接到具有多边形的全局 shapefile 的奖励积分,因此我可以完全绕过它:)

如果需要更多上下文,这里是我的存储库的链接,或者如果我能澄清任何内容,我将很乐意编辑我的问题。 https://github.com/JSLifeform/Ocean-Temperature-Comparisons/tree/broken

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?