GeoNames в основном испольует REST веб-службы.

Важно:

  • Не используйте  'demo' аккаунт для вашего приложения или ваших тестов. Он предназначен только для образцов ссылок на страницах документации. Создайте свой собственный аккаунт вместо этого.
  • Параметр 'username' должно быть передано с каждым запросом. Имя пользователя для вашего приложения могут быть зарегистрированы здесь. После этого вы получите электронное письмо с ссылкой для подтверждения и после того, как вы подтвердили электронную почту вы можете включить учетную запись для веб-сервиса на  странице вашей учетной записи
  • Не забудьте параметры URL кодировать строки, содержащие специальные символы или пробелы. (Ветка форума Faq по кодировке URL)
  • Используйте JSON сервисы если вы хотите использовать GeoNames из JavaScript, поскольку большинство браузеров не позволяют называть XML Services с другого сервера.
  • Исключения - обработка ошибок

 

Веб-сервисы

GeoNames search

Веб-сервис для GeoNames полнотекстового поиска в XML и JSON формате. Смотрите описание службы для деталей.

 

Почтовый индекс Поиск

Url

  » api.geonames.org/postalCodeSearch?
Результат » возвращает список почтовых индексов и мест для топоним / почтовый код запроса в XML-документ
Для США первый вернулся почтовый индекс определяется с использованием почтового индекса кода замкнутых фигур, следующие коды почтового индекса основаны на центроид. Для всех других поддерживаемых стран все возвращенные почтовые индексы основаны на центроидов.
ПараметрЗначениеОписание
postalcode Строка (обязательно почтовый индекс или название места) Почтовый индекс
postalcode_startsWith строка первые символы или буквы почтового кода
placename Строка (обязательно почтовый индекс или название места) все поля: название места, почтовый индекс, страна, имя администратора (Важно:urlencoded utf8)
placename_startsWith строка первые символы названия места
country строка: код страны, ISO-3166 (опционально) По умолчанию все страны. Параметр страна может встречаться несколько раз, например: country=FR&country=GP
countryBias строка Записи из countryBias перечисленые первыми
maxRows целое число (опционально) максимальное количество строк в документе, возвращенного службой. По умолчанию 10
style строка
SHORT,MEDIUM,LONG,FULL (опционально)
многословие возвращаемого XML-документа, по умолчанию = MEDIUM
operator string AND,OR (optional) оператор 'AND' выполняет поиск всех терминов в параметре placename, оператор  'OR'  ищет любое значение, по умолчанию = AND
charset string (optional) по умолчанию 'UTF 8', определяет кодировку, используемую для документа, возвращенного веб-службой.
isReduced true or false (optional) по умолчанию 'false',если установлено значение 'true' возвращаются только внешние коды Великобритании. Внимание: значение по умолчанию на коммерческих серверах в настоящее время устанавливается на  'true'. Это будет изменено позже 'false'.
east,west,north,south float (optional) ограничивающего параллелепипеда, только функции внутри коробки возвращаются

Пример http://api.geonames.org/postalCodeSearch?postalcode=9011&maxRows=10&username=demo

Эта услуга также доступна в формате JSON:

[more on free-geocoding ...]

 


Место поиска имен с почтовым индексом (JSON)

Webservice Type : REST /JSON
Url : api.geonames.org/postalCodeLookupJSON?
Параметры:  postalcode,country ,maxRows (default = 20),callback, charset (default = UTF-8)
Результат: возвращает список мест для данного почтового кода в формате JSON, отсортированных по почтовому индексу,  название места
Пример http://api.geonames.org/postalCodeLookupJSON?postalcode=6600&country=AT&username=demo

Детали для этой службы с Ajax шаг за шагом, например, для placename autocomplete


Найти близлежащие почтовые индексы / обратного геокодирования

Эта услуга поставляется в двух вариантах. Вы можете либо передать широту/долготу ( lat/long) почтового кодовое название/место. (postalcode/placename).

Webservice Type : REST
Url : api.geonames.org/findNearbyPostalCodes?
Параметры :
lat,lng, (широта/долгота) radius (радиус (в км)),, maxRows (default = 5),style (verbosity : SHORT,MEDIUM,LONG,FULL), country ((по умолчанию = все страны), localCountry (в приграничных районах этот параметр будет ограничить поиск по локальная страна, значение = true)
или
postalcode (почтовый индекс),country (страна), radius (радиус (в км)), maxRows (default = 5)

Результат: возвращает список почтовых индексов и мест для LAT / LNG запроса в XML-документа. Результат сортируется по расстоянию. Для Канады FSA возвращается (первые 3 символа полного почтового кода)
Пример::
http://api.geonames.org/findNearbyPostalCodes?lat=47&lng=9&username=demo
или
api.geonames.org/findNearbyPostalCodes?postalcode=8775&country=CH&radius=10&username=demo

Этот сервис также доступен в формате JSON:

api.geonames.org/findNearbyPostalCodesJSON?postalcode=8775&country=CH&radius=10&username=demo

[more reverse geocoding webservices]


Postal code country info

Webservice Type : REST
Url : api.geonames.org/postalCodeCountryInfo?
Result : countries for which postal code geocoding is available.
Example : http://api.geonames.org/postalCodeCountryInfo?username=demo


Find nearby populated place / reverse geocoding

Webservice Type : REST
Url : api.geonames.org/findNearbyPlaceName?
Parameters : lat,lng,
lang: language of returned 'name' element (the pseudo language code 'local' will return it in local language),
radius: radius in km (optional), maxRows: max number of rows (default 10)
style: SHORT,MEDIUM,LONG,FULL (default = MEDIUM), verbosity of returned xml document
localCountry: in border areas this parameter will restrict the search on the local country, value=true
cities: optional filter parameter with three possible values 'cities1000', 'cities5000','cities15000'. See the download readme for further infos
Result : returns the closest populated place (feature class=P) for the lat/lng query as xml document. The unit of the distance element is 'km'.
Example:
http://api.geonames.org/findNearbyPlaceName?lat=47.3&lng=9&username=demo

This service is also available in JSON format :
http://api.geonames.org/findNearbyPlaceNameJSON?lat=47.3&lng=9&username=demo


Find nearby toponym / reverse geocoding

Webservice Type : REST
Url : api.geonames.org/findNearby?
Parameters : lat,lng, featureClass,featureCode, radius: radius in km (optional), maxRows : max number of rows (default 10)
style : SHORT,MEDIUM,LONG,FULL (default = MEDIUM), verbosity of returned xml document
localCountry: in border areas this parameter will restrict the search on the local country, value=true
Result : returns the closest toponym for the lat/lng query as xml document
Example:
http://api.geonames.org/findNearby?lat=47.3&lng=9&username=demo

This service is also available in JSON format :
http://api.geonames.org/findNearbyJSON?lat=47.3&lng=9&username=demo


Extended Find nearby toponym / reverse geocoding

Webservice Type : REST
Url : api.geonames.org/extendedFindNearby?
Parameters : lat,lng
Result : returns the most detailed information available for the lat/lng query as xml document
It is a combination of several services. Example:
In the US it returns the address information.
In other countries it returns the hierarchy service: http://api.geonames.org/extendedFindNearby?lat=47.3&lng=9&username=demo
On oceans it returns the ocean name.

[more reverse geocoding webservices]


get geoNames feature for geoNameId

Webservice Type : REST
Url : api.geonames.org/get?
Parameters : geonameId, lang (optional), style (optional)
Result : returns the attribute of the geoNames feature with the given geonameId as xml document
Example:
http://api.geonames.org/get?geonameId=1&username=demo.



Place Hierarchy Webservices

 

Children

 

Hierarchy

 

Siblings

 

Neighbours




Wikipedia Webservices

 

Find nearby Wikipedia Entries / reverse geocoding

 

Wikipedia full text search




JSON Webservices

 

Cities and Placenames

 

Recent Earthquakes

 

Weather Stations with most recent Weather Observation

 

Placename lookup with postalcode




Other Webservices

RSS to GeoRSS Conversion

Details on RSS to GeoRSS converter.

Semantic Web Webservices

Details on GeoNames Semantic Web services.


Country Info (Bounding Box, Capital, Area in square km, Population)

Webservice Type : REST
Url : api.geonames.org/countryInfo?
Parameters : country (default = all countries)
lang : ISO-639-1 language code (en,de,fr,it,es,...) (default = english)
Result : Country information : Capital, Population, Area in square km, Bounding Box of mainland (excluding offshore islands)
Example : http://api.geonames.org/countryInfo?username=demo

An other countryInfo service is available as csv output :
Example : http://api.geonames.org/countryInfoCSV?lang=it&country=DE&username=demo




CountryCode / reverse geocoding

The iso country code of any given point.

Webservice Type : REST
Url : api.geonames.org/countryCode?
Parameters : lat,lng, type, lang, radius (buffer in km for closest country in coastal areas, a positive buffer expands the positiv area whereas a negative buffer reduces it);
Result : returns the iso country code for the given latitude/longitude
With the parameter type=xml this service returns an xml document with iso country code and country name. The optional parameter lang can be used to specify the language the country name should be in. JSON output is produced with type=JSON
Example http://api.geonames.org/countryCode?lat=47.03&lng=10.2&username=demo

[more reverse geocoding webservices]


Country Subdivision / reverse geocoding

The iso country code and the administrative subdivision of any given point.

Webservice Type : REST
Url : api.geonames.org/countrySubdivision?
Parameters : lat,lng, lang (default= names in local language), radius (buffer in km for closest country in coastal areas, a positive buffer expands the positiv area whereas a negative buffer reduces it),level (level of ADM);
Result : returns the country and the administrative subdivison (state, province,...) for the given latitude/longitude
Example http://api.geonames.org/countrySubdivision?lat=47.03&lng=10.2&username=demo

With the parameters 'radius' and 'maxRows' you get the closest subdivisions ordered by distance :
api.geonames.org/countrySubdivision?lat=47.03&lng=10.2&maxRows=10&radius=40

This service is also available in JSON format : api.geonames.org/countrySubdivisionJSON?lat=47.03&lng=10.2&username=demo


Ocean / reverse geocoding

The name of the ocean or sea.

Webservice Type : REST
Url : api.geonames.org/ocean?
Parameters : lat,lng, radius (optional)
Result : returns the ocean or sea for the given latitude/longitude
The oceans returned by the service are listed here. Example http://api.geonames.org/ocean?lat=40.78343&lng=-43.96625&username=demo

This service is also available in JSON format : api.geonames.org/oceanJSON?lat=40.78343&lng=-43.96625&username=demo


Neighbourhood / reverse geocoding

The neighbourhood for US cities. Data provided by Zillow under cc-by-sa license.

Webservice Type : REST
Url : api.geonames.org/neighbourhood?
Parameters : lat,lng
Result : returns the neighbourhood for the given latitude/longitude
Example http://api.geonames.org/neighbourhood?lat=40.78343&lng=-73.96625&username=demo

This service is also available in JSON format : api.geonames.org/neighbourhoodJSON?lat=40.78343&lng=-73.96625&username=demo

[more reverse geocoding webservices]


Elevation - SRTM1

Webservice Type : REST
Url : api.geonames.org/srtm1?
Parameters : lat,lng;
request method: GET or POST
sample area: ca 30m x 30m Result : a single number giving the elevation in meters according to srtm1, ocean areas have been masked as "no data" and have been assigned a value of -32768
Example http://api.geonames.org/srtm1?lat=50.01&lng=10.2&username=demo

This service is also available in XML and JSON format :api.geonames.org/srtm1XML?lat=50.01&lng=10.2&username=demo api.geonames.org/srtm1JSON?lat=50.01&lng=10.2&username=demo

The text version of the service also accepts a list of lat/lng for the parameters 'lats' and 'lngs'. On the free server the number of points per call is limited to 20, for the premium service the limit is 2000:http://api.geonames.org/srtm1?lats=50.01,51.01&lngs=10.2,11.2&username=demo


Elevation - SRTM3

Shuttle Radar Topography Mission (SRTM) elevation data. SRTM consisted of a specially modified radar system that flew onboard the Space Shuttle Endeavour during an 11-day mission in February of 2000. The dataset covers land areas between 60 degrees north and 56 degrees south.
This web service is using SRTM3 data with data points located every 3-arc-second (approximately 90 meters) on a latitude/longitude grid. Data voids in the original SRTM files have been filled by cgiar. Thanks to Andy Jarvis and Cgiar to allow GeoNames to use the processed data.
Documentation : cgiar-csi,Nasa

The astergdem data has finer resolution, but is not processed. The srtm3v4 data does not have the same resolution as the astergem data, but it is processed. This means holes and data errors have been corrected.

Webservice Type : REST
Url : api.geonames.org/srtm3?
Parameters : lat,lng;
request method: GET or POST
sample area: ca 90m x 90m Result : a single number giving the elevation in meters according to srtm3, ocean areas have been masked as "no data" and have been assigned a value of -32768
Example http://api.geonames.org/srtm3?lat=50.01&lng=10.2&username=demo

This service is also available in XML and JSON format :api.geonames.org/srtm3XML?lat=50.01&lng=10.2&username=demo api.geonames.org/srtm3JSON?lat=50.01&lng=10.2&username=demo

The text version of the service also accepts a list of lat/lng for the parameters 'lats' and 'lngs'. On the free server the number of points per call is limited to 20, for the premium service the limit is 2000:http://api.geonames.org/srtm3?lats=50.01,51.01&lngs=10.2,11.2&username=demo


Elevation - Aster Global Digital Elevation Model V1 2009

Webservice Type : REST
Url : api.geonames.org/astergdem?
Parameters : lat,lng;
request method: GET or POST
sample are: ca 30m x 30m, between 83N and 65S latitude. Result : a single number giving the elevation in meters according to aster gdem, ocean areas have been masked as "no data" and have been assigned a value of -9999
Example http://api.geonames.org/astergdem?lat=50.01&lng=10.2&username=demo

This service is also available in XML and JSON format : api.geonames.org/astergdemXML?lat=50.01&lng=10.2&username=demo and api.geonames.org/astergdemJSON?lat=50.01&lng=10.2&username=demo

The text version of the service also accepts a list of lat/lng for the parameters 'lats' and 'lngs'. On the free server the number of points per call is limited to 20, for the premium service the limit is 2000. http://api.geonames.org/srtm3?lats=50.01,51.01&lngs=10.2,11.2&username=demo


Elevation - GTOPO30

GTOPO30 is a global digital elevation model (DEM) with a horizontal grid spacing of 30 arc seconds (approximately 1 kilometer). GTOPO30 was derived from several raster and vector sources of topographic information. Documentation : USGS Gtopo30

Webservice Type : REST
Url : api.geonames.org/gtopo30?
Parameters : lat,lng;
sample area: ca 1km x 1km Result : a single number giving the elevation in meters according to gtopo30, ocean areas have been masked as "no data" and have been assigned a value of -9999
Example http://api.geonames.org/gtopo30?lat=47.01&lng=10.2&username=demo

This service is also available in JSON format : http://api.geonames.org/gtopo30JSON?lat=47.01&lng=10.2&username=demo


Timezone

Webservice Type : REST
Url : api.geonames.org/timezone?
Parameters : lat,lng, radius (buffer in km for closest timezone in coastal areas),lang (for countryName), date (date for sunrise/sunset);
Result : the timezone at the lat/lng with gmt offset (1. January) and dst offset (1. July)
Example http://api.geonames.org/timezone?lat=47.01&lng=10.2&username=demo

This service is also available in JSON format : http://api.geonames.org/timezoneJSON?lat=47.01&lng=10.2&username=demo


Element:
countryCode: ISO countrycode
countryName: name (language can be set with param lang)
timezoneId: name of the timezone (according to olson), this information is sufficient to work with the timezone and defines DST rules, consult the documentation of your development environment. Many programming environments include functions based on the olson timezoneId (example java TimeZone)
time: the local current time
sunset: sunset local time (date)
sunrise: sunrise local time (date)
rawOffset: the amount of time in hours to add to UTC to get standard time in this time zone. Because this value is not affected by daylight saving time, it is called raw offset.
gmtOffset: offset to GMT at 1. January (deprecated)
dstOffset: offset to GMT at 1. July (deprecated)

оператор