У меня есть строка местоположения Geo как 25 ° 9'37 "N 55 ° 13'28" E. Использование JavaScript Regex Я хочу извлечь Lat и Lng из указанной выше строки. Спасибо.экстракт Lat/Lng от строки geo loaction
ответ
Вашей первая строка может быть «25 ° 9'37» N является минутной формат широты, вы, вероятно, хотите, чтобы извлечь его ценность и преобразовать это десятичное представление степени, это дает возможность дальнейшему расчету по нему. @Stormwind
В соответствии с this BlogPost, формула преобразования
//latitude formula
([LATITUDE_DEG])+([LATITUDE_MIN]/60)+([LATITUDE_SEC]/3600))*
IF [Latitude_Direction]="South" THEN -1 ELSE 1 END
//longitude
([LONGITUDE_DEG]+([LONGITUDE_MIN]/60)+([LONGITUDE_SEC]/3600))*
IF [Longitude_Direction]="West" THEN -1 ELSE 1 END
Regex (простой)
//latitude
25°9'37"N
/(\w+)°(\w+)'(\w+)"(\w+)/
`25`, `9`, `37`, `N`
//regex from @PranavCBalan also works well
/(\d+)°(\d+)'(\d)+"([NEWS])/
`25`, `9`, `37`, `N`
решение для широты (простой) - уведомления, это решение подвержено ошибкам, так как это было написано в течение 5 минут, поэтому будьте осторожны
var lat_str = "25°9'37\"N"; //escaped string
lat_str = lat_str.replace('\"', '"'); //little trick
var matches = lat_str.match(/(\w+)°(\w+)'(\w+)"(\w+)/); //regexify
var lat_deg = parseInt(matches[1]); //degrees
var lat_min = parseInt(matches[2]); //minutes
var lat_sec = parseInt(matches[3]); //seconds
var lat_dir = matches[4]; //direction
var latitude = (lat_deg+(lat_min/60)+(lat_sec/3600))*(lat_dir === 'N' ? 1 : -1);
//25.160277777777775
Раствор для долготы
//same as latitude (except direction check), do it as your homework
Для получения более подробной информации см Converting Latitude/Longitude from Degrees/Minutes/Seconds to Decimal Degrees
Это утверждение «25 ° 9'37» N означает значение десятичной степени - не широта, вы должен преобразовать его в Latitude ». Это очень неустойчиво. Конечно, это значение широты, минут и даже секунд. Вы частично отвечаете на то, что не задано в вопросе, т. е. как преобразовать эту пару lat/lon minute в десятичные градусы Возможно, это то, чего он в конце концов хочет, но это не так выразительно. Минута lat обычно равна dd ° mm.mm '(где m = 0 ... 59.99 - и секунды не являются современными), тогда как десятичная лат dd.dddd ... ° Для выполнения вычислений на нем используется представление десятичной степени. – Stormwind
@Stormwind Я думаю, что OP ожидал обычных значений широты, таких как '23.23232' _Использование JavaScript Regex Я хочу добавить ct Lat и Lng из вышеуказанной строки_ OP хочет получить __Lat__ от '25 ° 9'37 'N', поэтому ему нужно извлечь графы/мин/сек из строки, затем преобразовать в градус, чтобы получить широту, согласованную? –
Возможно, он хотел, поэтому ваше решение в порядке. Но вы должны исправить свое первое предложение. Это, безусловно, широта, а также «обычная», если таковая имеется, и она не является значением десятичной степени. Они не используют десятичный лат/лон в море, будьте уверены. Ваша первая строка может быть «25 ° 9'37» N - это минутный формат широты, вы, вероятно, захотите извлечь ее значения и преобразовать в десятичное представление, это позволяет провести дальнейшие вычисления на ней »или аналогично. не будь таким вводящим в заблуждение, потому что этот текущий светит по-настоящему красным в моих глазах :-). – Stormwind
- 1. экстракт город от обратного геокода
- 2. экстракт целого числа от конца строки
- 3. Преобразование строки в двойную для использования в LatLng/Google Maps
- 4. Swift экстракт строки из строки
- 5. рубин экстракт часть строки
- 6. MATLAB: экстракт часть строки
- 7. PHP экстракт из строки
- 8. экстракт Информация из строки
- 9. C++ экстракт строки
- 10. экстракт строки внутри атрибута
- 11. Экстракт Часа От «yyyymmddHH»
- 12. Экстракт отложений от детей
- 13. экстракт полей от объекта
- 14. экстракт функции от caffe
- 15. экстракт звука от fla
- 16. экстракт число от тд
- 17. Расчет новой формы loaction
- 18. номера экстракт из строки C++
- 19. экстракт строки из XML Java
- 20. экстракт числа из строки первенствует
- 21. Regex экстракт строки в Java
- 22. asp.net экстракт из строки JSON
- 23. экстракт плавает только из строки
- 24. экстракт строки с помощью LINQ
- 25. экстракт строки из массива объекта
- 26. экстракт строки таблицы с XPATH
- 27. Sed: экстракт имя_сервер из строки
- 28. расщепление экстракт строки в HTML
- 29. экстракт строки из объекта JSON
- 30. экстракт подстроку из строки, питон
'вар Рез = "25 ° 9'37 \" N 55 ° 13'28 "E \" .match (/ \ D + ° \ d + '\ d + "[NEWS]/g)' –
Я вижу пробел между каждым значением. вы можете просто выполнить разделение строк и использовать значения справа –
@PranavCBalan. Ваше предложение сработало для меня. Большое спасибо за идеальное решение. –