Here.com API возвращает неверный код страны NCY - PullRequest
1 голос
/ 06 мая 2019

Запрос: https://reverse.geocoder.api.here.com/6.2/reversegeocode.json?app_id=APP_ID&app_code=APP_CODE&mode=retrieveAreas&prox=35.1377685%2C33.9196697%2C1000&language=en&gen=9

Замените эти два фактическими значениями: APP_ID, APP_CODE

Это ответ:

{
   "Response":{
      "MetaInfo":{
         "Timestamp":"2019-05-06T10:31:19.317+0000"
      },
      "View":[
         {
            "_type":"SearchResultsViewType",
            "ViewId":0,
            "Result":[
               {
                  "Relevance":1.0,
                  "Distance":-1092.5,
                  "Direction":149.7,
                  "MatchLevel":"city",
                  "MatchQuality":{
                     "Country":1.0,
                     "County":1.0,
                     "City":1.0,
                     "PostalCode":1.0
                  },
                  "Location":{
                     "LocationId":"NT_iVkNRSYU-2l2WyhtuOg9TB",
                     "LocationType":"area",
                     "DisplayPosition":{
                        "Latitude":35.13116,
                        "Longitude":33.9244
                     },
                     "MapView":{
                        "TopLeft":{
                           "Latitude":35.16061,
                           "Longitude":33.88137
                        },
                        "BottomRight":{
                           "Latitude":35.08291,
                           "Longitude":33.95569
                        }
                     },
                     "Address":{
                        "Label":"Karakol, Turkish-Cypriot Administered Area",
                        "Country":"NCY",
                        "County":"Famagusta",
                        "City":"Karakol",
                        "PostalCode":"99450",
                        "AdditionalData":[
                           {
                              "value":"Turkish-Cypriot Administered Area",
                              "key":"CountryName"
                           },
                           {
                              "value":"Famagusta",
                              "key":"CountyName"
                           }
                        ]
                     },
                     "MapReference":{
                        "ReferenceId":"970895970",
                        "MapId":"UEAM19108",
                        "MapVersion":"Q1/2019",
                        "MapReleaseDate":"2019-04-15",
                        "SideOfStreet":"neither",
                        "CountryId":"26569036",
                        "CountyId":"26569038",
                        "CityId":"26571374"
                     }
                  }
               }
            ]
         }
      ]
   }
}

См. Поле «Страна»: "Страна": "NCY",

Как видите, код страны - NCY. Я пытаюсь выяснить, в какой стране используется этот трехбуквенный код, и я нигде не могу найти его в Интернете. https://www.worldatlas.com/aatlas/ctycodes.htm

Похоже, это какая-то проблема API, и она возвращает неправильный код страны.

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Поскольку официального ответа ЗДЕСЬ нет, я приведу хотя бы некоторую справочную информацию. NCY, вероятно, не является кодом ISO 3166-1-альфа-3, который представляет Северный Кипр.

Кипр - сложный случай, когда Греция и Турция претендуют на влияние. Я помню четыре смоделированные зоны: греческую часть, турецкую часть, промежуточную демилитаризованную зону, контролируемую ООН, и британскую военную базу. Вы можете прочитать больше на https://en.wikipedia.org/wiki/Cyprus#Administrative_divisions

0 голосов
/ 10 мая 2019

Я сделаю еще один шаг и скажу, что это следует рассматривать как ошибку по двум причинам.

Согласно Справочнику по API тип объекта Address следующий (выделено):

Label Собранное значение адреса для отображения.

Country Код страны ISO 3166-alpha-3

[...]

Как вы заметили, и это первая причина того, почему это ошибка, NCY не является действительным кодом страны ISO 3166-alpha-3

Кроме того, ваш запрос не содержит параметр запроса politview , который позволяет работать со спорными территориями: например, Крым будет возвращен как часть России, если в запросе будет politicalview=RUS.Если politicalview не указано, API принимает «международное представление».

Однако, и это вторая причина, так называемая «Турецкая республика Северного Кипра» признается только Турцией.Не имеет смысла возвращать код страны, отличный от CYP, кроме случаев, когда в запросе указано politicalview=TUR.

...