API-обертка для postcodes.io — бесплатный поиск почтовых индексов Великобритании и геокодер. Этот пакет помогает находить и преобразовывать информацию об административной географии Великобритании, такую как почтовые индексы, LSOA, MSOA, округа, округа, районы, округа, CCG или NUTS.
Пакет основан исключительно на открытых данных, предоставленных postcodes.io. PostcodesioR может использоваться учеными, работающими с данными или социологами, работающими с геокодированными данными Великобритании. Общей задачей при работе с такими данными является агрегирование геокодированных данных на разных административных уровнях, например, преобразование данных на уровне почтового индекса в округа или регионы. Этот пакет может помочь в этом и во многих других случаях, когда требуется изменить агрегацию географических данных.
Этот пакет можно установить с GitHub (версия для разработки) или CRAN (стабильная версия).
Чтобы установить PostcodesioR, используйте одну из следующих команд:
# stable version
install.packages( " PostcodesioR " )
или
# developmental version
if ( ! require( " devtools " )) {
install.packages( " devtools " )
}
devtools :: install_github( " ropensci/PostcodesioR " )
Загрузите пакет, набрав
library( PostcodesioR )
Там, где это было возможно, я старался вернуть кадр данных. К сожалению, многие вызовы API возвращают более сложные данные, и в таких случаях безопаснее использовать списки. API ограничивает количество возвращаемых вызовов. Дополнительную информацию можно найти в документации по функциям.
Дополнительную информацию о возвращаемых данных и вызовах функций см. в исходной документации.
Основная функция этого пакета предоставляет информацию, относящуюся к данному почтовому индексу.
lookup_result <- postcode_lookup( " EC1Y8LX " )
# overview
str( lookup_result )
## 'data.frame': 1 obs. of 38 variables:
## $ postcode : chr "EC1Y 8LX"
## $ quality : int 1
## $ eastings : int 532544
## $ northings : int 182128
## $ country : chr "England"
## $ nhs_ha : chr "London"
## $ longitude : num -0.0909
## $ latitude : num 51.5
## $ european_electoral_region : chr "London"
## $ primary_care_trust : chr "Islington"
## $ region : chr "London"
## $ lsoa : chr "Islington 023D"
## $ msoa : chr "Islington 023"
## $ incode : chr "8LX"
## $ outcode : chr "EC1Y"
## $ parliamentary_constituency : chr "Islington South and Finsbury"
## $ admin_district : chr "Islington"
## $ parish : chr "Islington, unparished area"
## $ admin_county : logi NA
## $ date_of_introduction : chr "198001"
## $ admin_ward : chr "Bunhill"
## $ ced : logi NA
## $ ccg : chr "NHS North Central London"
## $ nuts : chr "Haringey and Islington"
## $ pfa : chr "Metropolitan Police"
## $ admin_district_code : chr "E09000019"
## $ admin_county_code : chr "E99999999"
## $ admin_ward_code : chr "E05013699"
## $ parish_code : chr "E43000209"
## $ parliamentary_constituency_code: chr "E14000764"
## $ ccg_code : chr "E38000240"
## $ ccg_id_code : chr "93C"
## $ ced_code : chr "E99999999"
## $ nuts_code : chr "TLI43"
## $ lsoa_code : chr "E01002704"
## $ msoa_code : chr "E02000576"
## $ lau2_code : chr "E09000019"
## $ pfa_code : chr "E23000001"
Посмотрите виньетку, чтобы увидеть все функции в действии.
Пожалуйста, укажите этот пакет, если он используется в публикации.
Walczak, EJ, (2023). PostcodesioR: An R package for UK geocoding. Journal of Open Source Software, 8(84), 5334, https://doi.org/10.21105/joss.05334
Запись BibTeX находится здесь:
@article{postcodesior:2023,
title = {{PostcodesioR: An R package for UK geocoding}},
author = {Eryk J. Walczak},
journal = {Journal of Open Source Software},
volume = {8},
number = {84},
pages = {5334},
year = {2023},
doi = {10.21105/joss.05334},
note = {R package version 0.3.1},
url = {https://cran.r-project.org/web/packages/PostcodesioR/},
}
В настоящее время существует ограничение на количество вызовов API, которые можно сделать. Однако postcodes.io предоставляет полный список данных геолокации, которые можно использовать локально без ограничений. Исходные данные взяты с портала данных Управления национальной статистики. Этот файл довольно большой, поэтому я не включил его в пакет.
Посетите веб-сайт пакета или мой блог, чтобы увидеть больше примеров.
Обратите внимание, что этот проект выпущен с Кодексом поведения участников. Участвуя в этом проекте, вы соглашаетесь соблюдать его условия.