salaun / geonames
Geonames导入器和Eloquent ORM模型。此存储库是从Yurtesen/Geonames分叉的。
1.0.2
2021-11-02 09:38 UTC
Requires
- php: ^8.0
- illuminate/contracts: ^8.0
- spatie/laravel-package-tools: ^1.4
Requires (Dev)
- nunomaduro/collision: ^5.3
- orchestra/testbench: ^6.15
- pestphp/pest: ^1.18
- pestphp/pest-plugin-laravel: ^1.1
- pestphp/pest-plugin-mock: ^1.0
- pestphp/pest-plugin-parallel: ^0.3.1
- pestphp/pest-plugin-watch: 1.x-dev
- spatie/pest-plugin-test-time: ^1.0
- vimeo/psalm: ^4.8
README
本包提供了一种导入/更新GeoNames数据库本地副本的方法。数据是从GeoNames公共服务器上的文本文件导出检索的。您可以通过阅读GeoNames的README获取有关此服务的更多信息。
安装
注意:如果您正在使用Lumen,您必须首先安装irazasyed/larasupport !
您可以通过composer安装此包
composer require salaun/geonames
您可以使用以下命令发布并运行迁移
php artisan vendor:publish --provider="Salaun\Geonames\GeonamesServiceProvider" --tag="geonames-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Salaun\Geonames\GeonamesServiceProvider" --tag="geonames-config"
这是发布配置文件的内容
return [
];
用法
有关更多信息,请参阅wiki。
提供的Eloquent模型
请参阅Wiki页面以获取实现细节。
名称 | 键 | 关系 | 作用域 |
---|---|---|---|
GeonamesGeoname | geoname_id | alternateName, timeZone,country | admin1,city,countryInfo |
GeonamesAlternateName | geoname_id | geoname | |
GeonamesCountryInfo | iso | timezone,continent | |
GeonamesFeatureCode | code | ||
GeonamesLanguageCode | iso_639_3 | ||
GeonamesTimezone | timezone_id | ||
GeonamesHierarchy | parent_id | ||
GeonamesAdmin1Code | geoname_id | geoname,hierarchies | |
GeonamesAdmin2Code | geoname_id | geoname,hierarchies |
表
GeoNames文件名和您数据库中创建的相应表名。
文件名 | 表名 |
---|---|
timeZones.txt | geonames_timezones |
allCountries.zip | geonames_geonames |
countryInfo.txt | geonames_country_infos |
iso-languagecodes.txt | geonames_language_codes |
alternateNames.zip | geonames_alternate_names |
hierarchy.zip | geonames_hierarchies |
admin1CodesASCII.txt | geonames_admin1_codes |
admin2Codes.txt | geonames_admin2_codes |
featureCodes_en.txt | geonames_feature_codes |
测试
composer test
更改日志
请参阅CHANGELOG以获取有关最近更改的更多信息。
致谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。