GDAL/OGR空间过滤之SetSpatialFilterRect()

7 篇文章 0 订阅
  • SetSpatialFilterRect函数,在osgeo.ogr模块下的Layer类中。也即,在图层(Layer)层面上执行空间筛选。
  • 通过设置一个矩形范围,再进行空间筛选,这通过函数名称中Rect就可以看出来。
  • SetSpatialFilterRect(double minx, double miny, double maxx, double maxy),即分别设置矩形的最小x,最小y,最大x,最大y。x、y的值应当与图层在相同的坐标系下设定。
  • 返回与给定矩形在几何上相交的要素。
  • 示例程序如下:
from osgeo import ogr

g = ogr.Open('world.shp')
lyr = g.GetLyaer(0)
lyr.SetSpatialFilterRect(-14, 37, 38, 72)
for feat in lyr:
  print(feat.GetFieldAsString('NAME') + '------'+feat.GetFieldAsString('CAPITAL'))
lyr.ResetReading()
ALGERIA ---- ALGIERS
BELGIUM ---- BRUSSELS
LUXEMBOURG ---- LUXEMBOURG
SAN MARINO ---- SAN MARINO
AUSTRIA ---- VIENNA
CZECH REPUBLIC ---- PRAGUE
SLOVENIA ---- LJUBLJANA
HUNGARY ---- BUDAPEST
SLOVAKIA ---- BRATISLAVA
YUGOSLAVIA ---- BELGRADE [BEOGRADE]
BOSNIA AND HERZEGOVINA ---- SARAJEVO
ALBANIA ---- TIRANE
MACEDONIA, THE FORMER YUGOSLAV REPUBLIC ---- SKOPJE
LITHUANIA ---- VILNIUS
LATVIA ---- RIGA
BULGARIA ---- SOFIA
BELARUS ---- MINSK
MOLDOVA, REPUBLIC OF ---- KISHINEV
IRELAND ---- DUBLIN
ICELAND ---- REYKJAVIK
SPAIN ---- MADRID
SWEDEN ---- STOCKHOLM
FINLAND ---- HELSINKI
TURKEY ---- ANKARA
RUSSIAN FEDERATION ---- MOSCOW
GREECE ---- ATHENS
PORTUGAL ---- LISBON
POLAND ---- WARSAW
NORWAY ---- OSLO
GERMANY ---- BERLIN
ESTONIA ---- TALLINN
TUNISIA ---- TUNIS
CROATIA ---- ZAGREB
ROMANIA ---- BUCURESTI
UKRAINE ---- KIEV
NETHERLANDS ---- AMSTERDAM
JERSEY ---- SAINT HELIER
GUERNSEY ---- SAINT PETER PORT
FAROE ISLANDS ---- TORSHAVN
DENMARK ---- COPENHAGEN
MONACO ---- MONACO
ANDORRA ---- ANDORRA LA VELLA
LIECHTENSTEIN ---- VADUZ
SWITZERLAND ---- BERN
ISLE OF MAN ---- DOUGLAS
UNITED KINGDOM ---- LONDON
FRANCE ---- PARIS
VATICAN CITY (HOLY SEE) ---- VATICAN CITY
ITALY ---- ROME
  • 要清除空间过滤集的唯一方式是调用SetSpatialFilter()函数。
lyr.SetSpatialFilterRect(NULL)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值