沙特国家地址api的简单python包装器。

saudiaddress的Python项目详细描述


沙特国家地址API网站:https://api.address.gov.sa

saudiaddress的基本用法

>>> fromsaudiaddress.apiimportNationalAddress>>> api_key=os.environ.get('NATIONAL_ADDRESS_API_KEY')>>> na=NationalAddress(key=api_key)

将坐标反向地理编码为国家地址

>>> addresses=na.get_address(lat=26.318922,long=50.228043,language='E')>>> print("address:",addresses.records[0])address: 6418 al kurnaysh road - al kurnaish AL KHUBAR 34412 - 3618

批量搜索(楼号、邮政编码、附加号码)列表

>>> foraddressinna.bulk_search([(3468,23955,7487),(6418,34412,3618)],page=1).records:>>> print(address)3468  - king abdullah university of science and technology THUWAL 23955 - 7487
6418 al kurnaysh road - al kurnaish AL KHUBAR 34412 - 3618

验证国家地址

>>> print("the address is",na.verify_address(6418,34412,3618))the address is True

免费文本搜索国家地址

>>> addresses=na.free_text_search('2292  - king abdullah university of science and technology')>>> print("count:",addresses.count)>>> address=addresses.records[0]>>> print('lat={lat}, long={long}, city={city}, region={region}'.format(lat=address.Latitude,long=address.Longitude,city=address.City,region=address.RegionName))count: 1
lat=22.324697064547, long=39.0942996143403, city=THUWAL, region=Makkah

搜索最近的服务

>>> addresses=na.nearest_poi(lat=22.32,long=39.09,radius=2)>>> foraddressinaddresses.records:>>> print('title:%s'%address.Title)>>> print('address:',address)title:Samba atm
address: 3468  - king abdullah university of science and technology THUWAL 23955 - 7487
title:sabb bank
address: 7126  - king abdullah university of science and technology THUWAL 23955 - 3451

基于固定参数的搜索服务

>>> addresses=na.fixed_search(city_name='THUWAL',post_code=23955,additional_number=7487)>>> print(addresses.records[0])3468  - king abdullah university of science and technology THUWAL 23955 - 7487

通过在免费文本中提供详细信息来查找服务的可用性

>>> addresses=na.poi_free_text_search('sabb atm',language='E')>>> print('total SABB ATMs found: %d'%addresses.count)>>> print(addresses.records)total SABB ATMs found: 695
6897 king fahd road - al ulaya AR RIYADH 12211 - 3388
7277 king fahd road - al ulaya AR RIYADH 12212 - 3333
7411 king fahd road - al ulaya AR RIYADH 12212 - 3229
2946 al amir muhammad ibn abdul aziz branch rd - al ulaya AR RIYADH 12213 - 7929
2332 no 92 - al ulaya AR RIYADH 12214 - 9330

获取区域列表

>>> regions=na.get_regions(language='A')>>> forregioninregions[:5]:>>> print(region)Region (ID=12, Name= الباحة)
Region (ID=13, Name= الجوف)
Region (ID=9, Name= الحدود الشمالية)
Region (ID=1, Name= الرياض)
Region (ID=4, Name= القصيم)

获取一个地区内的城市列表

>>> cities=na.get_cities(region_id=1)>>> forcityincities[:5]:>>> print(city)City (ID=3, Name=AR RIYADH)
City (ID=828, Name=AD DIR'IYAH)
City (ID=669, Name=AD DUWADIMI)
City (ID=1061, Name=AL KHARJ)
City (ID=24, Name=AL MAJMA'AH)

获取一个城市的地区列表

>>> districts=na.get_districts(city_id=3)>>> fordistrictindistricts[:5]:>>> print(district)District (ID=10100003130, Name=ad dar al baida)
District (ID=10100003039, Name=ad difa)
District (ID=10100003007, Name=ad dirah)
District (ID=10100003116, Name=ad dubiyah)
District (ID=10100003076, Name=ad duraihimiyah)

获取服务类别列表

>>> categories=na.get_categories()>>> forcategoryincategories[:5]:>>> print(category)Category (ID=101, Name=Auto Services)
Category (ID=122, Name=CivilDefense)
Category (ID=102, Name=Commercial)
Category (ID=103, Name=Cultural Sites)
Category (ID=104, Name=Diplomatic)

获取子服务类别列表

>>> sub_categories=na.get_subcategories(service_category_id=101)>>> forsub_categoryinsub_categories[:5]:>>> print(sub_category)Sub-Category (ID=10101, Name=Auto Agency)
Sub-Category (ID=10102, Name=Auto Service Station)
Sub-Category (ID=10103, Name=Auto Showroom)
Sub-Category (ID=10104, Name=Auto Spare Parts)
Sub-Category (ID=10105, Name=Auto Workshop)

国际泳联利雅得市阿德迪拉区的所有自动柜员机

>>> services=na.poi_fixed_search('atm',district_name='ad dirah',city_name='AR RIYADH',page=1)>>> print("total:",services.count)>>> forserviceinservices.records:>>> print(service.Title,service)total: 19
al rajhi atm 7221  - ad dirah AR RIYADH 12633 - 3262
albilad atm 7272 al batha - ad dirah AR RIYADH 12633 - 3394
albilad atm 2778 al imam muhammad ibn saud ibn muqrin - ad dirah AR RIYADH 12634 - 6823
albilad atm 2760 tariq ibn ziyad - ad dirah AR RIYADH 12634 - 6287
alinma atm 2577 al imam muhammad ibn saud ibn muqrin - ad dirah AR RIYADH 12634 - 6681
alinma atm 2591 al imam turki ibn abdullah ibn muhammad - ad dirah AR RIYADH 12634 - 6883
alinma atm 6774 ash shaikh muhammad ibn abdul wahab - ad dirah AR RIYADH 12634 - 2938
anb atm 6645  - ad dirah AR RIYADH 12634 - 2856
atm _ national commercial bank 6487 al muqaybirah - ad dirah AR RIYADH 12634 - 2821
riyadh atm 7172 al batha - ad dirah AR RIYADH 12633 - 3386

安装

$ pip install saudiaddress

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用Java中的扫描仪读取文本文件中的特定字符?   java如果我们在hibernate中开始事务但不提交它,会发生什么?   Azure CosmosDB Java Springboot中的无服务器帐户不支持spring boot设置提供吞吐量或容器自动导航   附加到新对象的Java注释?   java如何将自定义文本视图添加到。在Kotlin中添加通知操作   java Shibboleth添加_OpenSAMLcookies,导致HTTP头大小>8k   分布式传感器数据(~40Hz)的高效Java观测器设计   java如何在while循环外声明数组,但在while循环中初始化它?   用@XmlElementRef注释的java元素没有显示在JAXB编组字符串中?   java替换二维数组的值   java如何在任务栏上创建Windows7加载栏   java如何在组件注释bean中使用会话或RequestScope bean?   java netbeans freermarker插件错误:在实现版本中请求netbeans桥的插件Lexer   java谷歌地图方向。加载失败,返回服务器错误   java当我试图递归地计算两个值之间的整数之和时,为什么结果返回一个奇怪的值?   java如何通过html文件的用户获取运行时输入,以使用Jsoup进行解析?