我是python和qgis的初学者。
我试图通过使用交集来交叉两个shapefile。 (多边形)
首先,我尝试与QGIS交叉,它的工作原理。 (EPSG:4326) QGIS picture
但问题是,当我试图在python处相交时,只返回一个值。 怎么了?
这是我的代码
sb_4326 = buildings polygon
sg_4326 = city_polygon
import geopandas as gpd
###
###
sg4326 = gpd.read_file('sg_4326/sg4326.shp')
sb4326 = gpd.read_file('sb_4326/sb4326.shp')
mm = sb4326.intersects(sg4326)
Out[35]:
0 False
1 False
2 False
3 False
4 False
5 False
6 False
7 False
8 False
9 False
10 False
11 False
12 False
13 False
14 False
15 False
16 False
17 False
18 False
19 True
20 False
21 False
22 False
23 False
24 False
25 False
26 False
27 False
28 False
29 False
有27000个值。
答案 0 :(得分:0)
我不确定当geopandas
传递两个GeoSeries
不等大小(?)时,sb4326.geometry.map(lambda building: any(sg4326.intersects(building))
的行为是什么。
你可能想要:
True
这将逐个测试每个建筑物的整个区域,如果any
的交叉点为True
,则返回 <md-select ng-model="selectedSector" aria-label="select" onchange="filterCompanyList();">
<md-option ng-repeat="sector in sectors" value="{{sector.value}}"> {{sector.name}} </md-option>
</md-select>
。
请注意,这将运行得相当慢。可以使用一些技巧使其运行得更快(QGIS可能使用),但这是一个起点。
答案 1 :(得分:0)