Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Бесплатный геодекодинг решение для 1С

Бесплатный геодекодинг решение для 1С
Я
   DGorgoN
 
01.03.21 - 13:02
Хочу послать куда нибудь адрес типа " НАБЕРЕЖНЫЕ ЧЕЛНЫ, ПРОЕЗД РЕЗЕРВНЫЙ, ДОМ 43/18" и получить координаты. Есть что либо бесплатное рабочее. Только прошу в ИС не посылать.
   Mikeware
 
1 - 01.03.21 - 13:03
   ДенисЧ
 
2 - 01.03.21 - 13:03
Да пошёл ты... На инфостарт...
   Krendel
 
3 - 01.03.21 - 13:03
Апи яндекса уже не работает?
   Garykom
 
4 - 01.03.21 - 13:04
(0) бесплатных нет из коробки рабочих
   Юрий Лазаренко
 
5 - 01.03.21 - 13:07
&НаКлиенте
Процедура ОпределитьКоординатыПоАдресу(Команда)
    
    Координаты = ОпределитьКоординатыПоАдресуНаСервере(Объект.Адрес);
    Если ЗначениеЗаполнено(Координаты) И ТипЗнч(Координаты) = Тип("Структура") Тогда
        Объект.Широта = Координаты.Широта;
        Объект.Долгота = Координаты.Долгота;
        Модифицированность = Истина;
    Иначе
        Состояние("Не удалось определить координаты");
    КонецЕсли;
    
КонецПроцедуры

&НаСервереБезКонтекста
Функция ОпределитьКоординатыПоАдресуНаСервере(Адрес)
    
    АдресСервера = "geocode-maps.yandex.ru";
    ПутьНаСервере = "/1.x/?geocode=" + Адрес + "&results=1&apikey=<Здесь твой ключ, насколько помню он сейчас все еще бесплатно получается>";
    Попытка
        ССЛ = Новый ЗащищенноеСоединениеOpenSSL;
        ИмяВыходногоФайла = ПолучитьимяВременногоФайла();
        Соединение          = Новый HTTPСоединение(АдресСервера,,,,, 5, ССЛ);
        Соединение.Получить(ПутьНаСервере, ИмяВыходногоФайла);
        ЗапросТекстовыйДокумент = Новый ТекстовыйДокумент;
        ЗапросТекстовыйДокумент.Прочитать(ИмяВыходногоФайла);
        ТекстОтвета = ЗапросТекстовыйДокумент.ПолучитьТекст();
    Исключение
    КонецПопытки;
    ПозицияНачала = Найти(ТекстОтвета, "<pos>");
    ПозицияКонца = Найти(ТекстОтвета, "</pos>");
    Если ЗначениеЗаполнено(ПозицияНачала) И ЗначениеЗаполнено(ПозицияКонца) Тогда
        ПозицияНачала = ПозицияНачала + 5;
        Координаты = Сред(ТекстОтвета, ПозицияНачала, ПозицияКонца - ПозицияНачала);
        Координаты = СтрЗаменить(Координаты, " ", Символы.ПС);
        Возврат Новый Структура("Широта, Долгота", Число(СтрПолучитьСтроку(Координаты, 2)), Число(СтрПолучитьСтроку(Координаты, 1)));
    Иначе
        Возврат Неопределено;
    КонецЕсли;
    
КонецФункции
   DGorgoN
 
6 - 01.03.21 - 13:09
"Здесь твой ключ, насколько помню он сейчас все еще бесплатно получается" - там условия, можно конечно и обмануть но чревато.
   Юрий Лазаренко
 
7 - 01.03.21 - 13:34
(6) Возможно. Когда я получал, бесплатно было.
   Вафель
 
8 - 01.03.21 - 13:36
   Garykom
 
9 - 01.03.21 - 13:45
(8) OSM
https://nominatim.openstreetmap.org/
неплох но надо чистить адрес от всех обл., г., ул., д. и т.д.

И нет 2гис в сравнении
   Kassern
 
10 - 01.03.21 - 13:54
(9) по OSM сталкивался с тем, что не все адреса находятся
   Garykom
 
11 - 01.03.21 - 13:58
(10) Да сча начал тестить и очень хреново ищет
   Garykom
 
12 - 01.03.21 - 14:02
(11)+ Короче понял там в OSM криво занесены наименования улиц
Вместо "2-я центральная" там забита с "улица" например "2-я центральная улица"
А ищет хорошо, только как догадаться о правильном названии?
   Вафель
 
13 - 01.03.21 - 14:12
(12) заодно и исправляй )))
   Beduin
 
14 - 01.03.21 - 14:19
от гугла бесплатно, до определенного количества запросов.
   Вафель
 
15 - 01.03.21 - 14:21
(14) в (8) написано что нет
   Beduin
 
16 - 01.03.21 - 14:23
(15) Месяц назад под андроид на нем собирал. Все работают. Дезинформируют в статье.
   Kassern
 
17 - 01.03.21 - 14:23
(12) я бы все таки использовал яндекс для получения координат, а далее эти координаты уже бы использовал в OSM чтобы рисовать зоны/маршруты и т.д. для личного пользования
   Вафель
 
18 - 01.03.21 - 14:25
(16) ну и на самом гугле  нет инфы о бсплатном
   Базис
 
19 - 01.03.21 - 14:26
https://dadata.ru/api/geocode/
10 копеек за запись, первые 100 бесплатно.
   DGorgoN
 
20 - 01.03.21 - 14:39
(17) Ну вот я так и хочу. Просто надо сначала эти координаты получить первоначально. Хотел закупщикам облегчить задачу но видимо пускай ручками делают.
   DGorgoN
 
21 - 01.03.21 - 14:52
(9) Вообще не понял как с ним работать. Ни один адрес не отобразил.
   Garykom
 
22 - 01.03.21 - 14:54
   DGorgoN
 
23 - 01.03.21 - 15:02
Вот вроде как https://dadata.ru/suggestions/#address норм отрабатывает. Попробую с ним.
   Garykom
 
24 - 01.03.21 - 15:11
(21)
    АдресСтрокой = "Архангельская Каргопольский Гавриловская 4";
    Сервер = "nominatim.openstreetmap.org";
    Соединение = Новый HTTPСоединение(Сервер, 443, , , , , Новый ЗащищенноеСоединениеOpenSSL);
    АдресURL = КодироватьСтроку(АдресСтрокой, СпособКодированияСтроки.КодировкаURL, "UTF-8");
    Ресурс = "/search?q="+АдресURL+"&format=json";
    Запрос = Новый HTTPЗапрос(Ресурс);
    Ответ = Соединение.Получить(Запрос);
    Сообщить(Ответ.ПолучитьТелоКакСтроку());

   Garykom
 
25 - 01.03.21 - 15:12
(24)+ Чтобы нашел надо убирать все "," и прочее лишнее
   Garykom
 
26 - 01.03.21 - 15:15
(23) дадата хорошо но по 10коп
   Mikeware
 
27 - 01.03.21 - 15:33
(26) ну сколько у конторы клиентов? если до 5000-10000 - то хоть из своего кармана оплатить можно (и записать как "два дня усердной работы"), а если больше - то можно уже покупать платное решение со всеми его преимуществами
   Garykom
 
28 - 01.03.21 - 15:36
(27) мне сча надо 120000 адресов
   Базис
 
29 - 01.03.21 - 15:51
(28) Можно сэкономить, 10 000 в месяц бесплатно, буквально за год сделаешь.
   DGorgoN
 
30 - 01.03.21 - 16:05
(29) 10 учеток завести, пользовать бесплатные впн )
 
 
   Базис
 
31 - 01.03.21 - 16:44
(30) Мне нравится разумная альтернатива яндексу и гуглу, поэтому не предлагал такое.


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.