草庐IT

libopencv_shape

全部标签

python - 在 Shapely 中以平面单位(例如平方米)计算多边形面积

我正在使用Python3.4和shapely1.3.2从长/纬度坐标对列表中创建一个多边形对象,我将其转换为众所周知的文本字符串以便解析它们。这样的多边形可能看起来像:POLYGON((-116.90443.371,-116.82343.389,-116.89543.407,-116.90843.375,-116.90443.371))由于shapely不处理任何投影并在笛卡尔空间中实现所有几何对象,因此在该多边形上调用area方法,如下所示:poly.area以平方度为单位给出该多边形的面积。要获得像平方米这样的平面单位的面积,我想我必须使用不同的投影(哪个投影?)来转换多边形的坐标

python - 找到包含 0 个样本 (shape=(0, 40)) 的数组,而至少需要 1 个

我正在使用Python2.7、sklearn0.17.1、numpy1.11.0测试一个简单的预测程序。我从LDA模型中获得了概率矩阵,现在我想创建RandomForestClassifier以通过概率预测结果。我的代码是:maxlen=40props=[]fordocincorpus:topics=model.get_document_topics(doc)tprops=[0]*maxlenfortopicintopics:tprops[topics[0]]=topics[1]props.append(tprops)ntheta=np.array(props)ny=np.array(

python - 使用 Shapely 查找多边形的最大内接矩形

我正在尝试在六个多边形内定位数百万个点。这是我的代码:deffind_shape(longitude,latitude):iflongitude!=0andlatitude!=0:point=shapely.geometry.Point(longitude,latitude)else:return"Unknown"forcurrent_shapeinall_shapes:ifcurrent_shape['bounding_box'].contains(point):ifcurrent_shape['shape'].contains(point):returncurrent_shape[

python - 如何处理 Shapely 中的舍入错误

我有一个案例是基于在一条线上投影一个点,然后将这条线分开。我的用例稍微复杂一些,但可以使用以下代码重现我的问题:fromshapelyimport*line1=LineString([(1,1.2),(2,2),(3,2.),(4,1.2)])pt=Point(2.5,1.2)pr=line1.interpolate(line1.project(pt))根据构造,“pr”应该在line1及其交叉点上:line1.contains(pr)line1.intersects(LineString([pt,pr]))打印两次“True”。但是更改输入坐标会稍微阻碍工作流程:fromshapel

python - 如何在 Shapely 中检查多边形是否为空?

我是Python的新手,所以这个问题的答案可能很简单,但我到处寻找并尝试了很多,但找不到答案。使用Shapely简化多边形可能会产生空多边形。如果多边形为空,我想用一个点替换多边形。可以工作的东西:ifmypolyisempty:mypoly=[(0,0)] 最佳答案 鉴于mypoly是一个有形状的多边形,您可以使用is_empty来检查它是否为空,Shapely内置它来检查是否为空。fromshapely.geometryimportPointifmypoly.is_empty:mypoly=Point(0,0)

python - 显示 ValueError : shapes (1, 3) 和 (1,3) 未对齐 : 3 (dim 1) ! = 1 (dim 0)

我正在尝试使用以下矩阵并执行代码中所示的点积。我检查了矩阵的大小,所有矩阵都是(3,1),但最后两个点积给我带来了错误。coordinate1=[-7.173,-2.314,2.811]coordinate2=[-5.204,-3.598,3.323]coordinate3=[-3.922,-3.881,4.044]coordinate4=[-2.734,-3.794,3.085]importnumpyasnpfromnumpyimportmatrixcoordinate1i=matrix(coordinate1)coordinate2i=matrix(coordinate2)coor

python - 使用 Shapely 绘制椭圆

我正在整合Shapely到我的代码中,我必须处理几种不同类型的几何对象。我的大部分需求都满足于Lines、Polygons和LineStrings,但我需要使用椭圆。有没有一种方法可以通过边界框或半轴在Shapely中创建椭圆,而不必将椭圆离散为线? 最佳答案 没有任何方法可以在不离散化的情况下在Shapely中表示多边形。Shapely在基础级别处理点。从LineString到Polygon的一切都只是一个点列表。一个很好的例子就是当您获取一个Point并将其缓冲出来时会发生什么:>>>importshapely>>>fromsh

python中.shape() 常见的返回值

①返回值为(一个数+‘,’)的情况。如:返回值为(4,),返回值为(20,)这种情况:返回的是一个数组。返回值表示数组中元素个数#当我们输入一个列表时,我们得到一个一维数组作为结果vector=numpy.array([5,10,15,20])返回结果为(4,)②返回值为两个数的情况(a,b)。如返回值为(2,3)、(75,5)则表示输入的是一个矩阵,例如上面的(2,3)表示输出的是一个2行3列的矩阵;上面的(75,5)表示输出的是一个75行5列的矩阵。#Formatrices,theshapepropertycontainsatuplewith2elements.matrix=numpy.a

python - numpy 数组 1.9.2 获取 ValueError : could not broadcast input array from shape (4, 2) 形状 (4)

以下代码在numpy1.7.1中工作,但在当前版本中给出值错误。我想知道它的根本原因。importnumpyasnpx=[1,2,3,4]y=[[1,2],[2,3],[1,2],[2,3]]a=np.array([x,np.array(y)])以下是我在numpy1.7.1中得到的输出>>>aarray([[1,2,3,4],[array([1,2]),array([2,3]),array([1,2]),array([2,3])]],dtype=object)但相同的代码在1.9.2版本中会产生错误。---->5a=np.array([x,np.array(y)])ValueErro

python - 为什么我会收到 Keras LSTM RNN input_shape 错误?

我不断从以下代码中收到input_shape错误。fromkeras.modelsimportSequentialfromkeras.layers.coreimportDense,Activation,Dropoutfromkeras.layers.recurrentimportLSTMdef_load_data(data):"""datashouldbepd.DataFrame()"""n_prev=10docX,docY=[],[]foriinrange(len(data)-n_prev):docX.append(data.iloc[i:i+n_prev].as_matrix())