2016-03-31 3 views
-2

В основном мне нужно преобразовать адрес физической доставки (например, 94 DERRIBLONG STREET) в систему координат WGS84 и преобразовать их в значения широты и долготы. Я установки класса в класс помощника, чтобы представлять объект с атрибутами Широта и долгота, как:Преобразовать адрес в WGS84 долготу и широту C#

public class GpsCoordinateClass 
{ 
public string Latitude{get;set;} 
public string Longitude{get;set;} 
} 

Тогда в моем классе, где я хочу, чтобы использовать значения долготы и широты у меня есть метод, который выглядит как следующее:

public GpsCoords getLongandLat(string address) 
{ 
GpsCoords newCoords = new GpsCoords(); 
newCoords.Latitude = //GET LONGITUDE CODE; 
newCoords.Longitude = //GET LATITUDE CODE; 
return newCoords; 
} 

значения широты и долготы, должны быть максимально 11 цифровых символов с подразумеваемой десятичной точкой xxxx.xxxxxxx, которая может включать в себя «-» знак в качестве первой цифры, иначе это 0, как -xxx.xxxxxxx

Есть ли какая-то библиотека, которую я могу использовать для преобразования значений адресов в значения долготы и широты в значениях WGS84?

Я признателен за любую помощь, как я изо всех сил, чтобы реализовать эту

Спасибо заранее

+1

Существует нет «перевода» с адреса на lat/lon. Вам нужно будет выполнить поиск. Для вас существует множество услуг, поэтому вам нужно заплатить небольшую плату. Ваш заголовок также задает вопрос, отличный от вашего вопроса. – CodeCaster

+1

Вы не ищете библиотеку, вы ищете алгоритм * dataset * и геокодирования или, еще лучше, геокодирование, такое как Google Maps, Bing Maps и т. Д. Адреса изменяются все время, цифры являются приблизительными, их точное местоположение обычно неизвестно и «угадывается» с использованием алгоритмов геокодирования. Поддержание чистого набора данных не является легким, и именно поэтому они стоят. Google, Bing и т. Д. Предлагают бесплатные уровни, но –

+0

Хорошо, я дам Google карты трещину. Является ли геокодирование в формате WGS84 с использованием карт Google? – Mark

ответ

1

Прежде всего «GpsCoords» инициализируется класс отличается от определенного класса «GpsCoordinateClass», который всегда выдает ошибку , Второй блок кода должен быть таким:

public GpsCoordinateClass GetLongandLat(string address) 
{ 
GpsCoordinateClass newCoords = new GpsCoordinateClass(); 
newCoords.Latitude = //GET LONGITUDE CODE; 
newCoords.Longitude = //GET LATITUDE CODE; 
return newCoords; 
} 

Вы можете использовать плагин NuGet «геокодирования» для вашей цели. Плагин-источник: here

Тогда вы можете следовать this solution.I надеюсь, что это то, что вам нужно. Желаем вам всего удачного.

Смежные вопросы