• Как поменять тип проекции карты в Leaflet?

    @odissey_nemo
    Не осуждаю, чисто для справки констатировал.
    Понять можно всех. Принять - нет. Это не об авторе Leaflet, а в целом.
    Написано
  • Рекурсивный ввод-вывод последовательности без использования массивов и списоков?

    @odissey_nemo
    Открыть файл и писать каждое число, как отдельную строку.
    После конца вводе закрыть файл, открыть его с начала и выводить числа, считывая по одной строке, пока не кончатся.
    Удалить файл.
    Написано
  • Как интерпретировать цветовую карту для асиметрии изображений термограмм?

    @odissey_nemo
    Разность - это статистическая величина для двумерных массивов, которыми являются изображения.
    Наверняка результатом должно являться одно число, характеризующее отличие двух карт (2D-массивов) друг от друга.
    Например, можно вычислить коэффициент корреляции межу двумя входными растровыми изображениями (массивами). Т.к. эти массивы имеют одну размерность (длина и ширина) то можно из рассматривать как одномерные массивы, между которыми корреляция по Пирсону - элементарная задача.
    Но есть и ранговая корреляция - по Спирмену. Всё зависит от характера входных данных.

    А интерпретация КК (коэфф. корр.) примерно такая >= +0.7 означает что изображения весьма близки, а <= -0.7 - весьма различны.
    И сравнивать , несомненно, следует:
    1. исходные изображения, без всяких изолиний и надписей. И без раскраски в цвета. Пусть это будут значения RGB в каждой точке.
    2. отдельно R G и B - это сразу три КК. Что несколько обескураживает. Для получения одного КК можно предложить перевести изображение в чёрно-белое (только яркости) или вычислять расстояние (разницу) между пикселами в 3- мерном пространстве по обычной формуле Эвклида. В Java это будет примерно следующее:
    /**
    	 * Calculates distance in RGB color space with Euklidian distance between each component
    	 *
    	 * @param c1 {@link Color} one
    	 * @param c2 {@link Color} two
    	 * @return double result of comparison. Max possible distance is 225.0. Minimum 0.0
    	 */
    	public static double colorDistance( Color c1, Color c2 )
    	{
    		double rDist = c1.getRed() - c2.getRed();
    		double gDist = c1.getGreen() - c2.getGreen();
    		double bDist = c1.getBlue() - c2.getBlue();
    		return Math.sqrt( rDist * rDist + gDist * gDist + bDist * bDist )/* / SQRT_3*/;
    	}//end color distance method
    Написано
  • Почему C# не кроссплатформенный?

    @odissey_nemo
    Артем Воронов, но 20 лет назад писать на C# было нельзя под многие другие платформы. Mono только начинался и был корявым. А Java была всегда и везде. Это сегодня она не совместима по байт коду с Андроидом, а тогда
    я писал с Wndows, а работала на Unix сервере Оракла без малейших затыков напрямую.
    Написано
  • Есть сервера, которые стоит написать именно на Java, а не на Node?

    @odissey_nemo
    Бектур Муратов, писать асинхронно можно почти на чём угодно. И скорее всего, без применения дополнительных библиотек.
    Я бы писал на том, на чём привык в любом случае, когда не спускают язык в задании сверху.
    Например, недавно ВЕБ-сервис приказали писать на Kotlin, т.к. он перспективный и для Смартфонов получше. Пришлось подучить и написать, вместо Java. Получилось в коде короче плюс асинхронность весьма удобная, но - дольше.
    И никакой разницы снаружи. Плюс строка в резюме, которая мне уже не нужна.
    Написано
  • Как сделать чат без БД?

    @odissey_nemo
    My1Name, резонно. Но не современно))) Я сам, как бы это сказать... не современный. Начинал в середине 80-х. Тогда был стиль "code bum", когда боролись за каждый байт и за каждый такт.
    Сегодня ты пристёгиваешь библиотеку с нужной тебе функцией, а она подтягивает мегабайт 50 своего кода)))
    И это оправдано тем, что живём мы только сегодняшним днём. Ибо рыночек
    Но ваш подход сегодня... я могу только одобрить! Он правильный и полезный, особенно для саморазвития!
    Написано
  • Как генерировать случайное число типа double с двумя символами после запятой?

    @odissey_nemo
    Должно прекрасно работать с генерацией чисел от 0 до 100 (исключительно), с округлением до 2 знаков после запятой. В текстовом виде, естественно, но так и требуется, кажется. Вывод в out.
    ...
    Random rnd = new Random();
    for ( int i = 0; i < 50; i++ )
        System.out.println( String.format( Locale.US,  "+++ #%2d: %5.2f",  i+1,  rnd.nextDouble() * 100.0d  )  );
    ...
    Написано
  • Как сделать чат без БД?

    @odissey_nemo
    My1Name, ваши слова "... HTTP ... не требующий сокет..." смущают.
    Может быть, стоило написать, что "использование HTTP скрывает все операции с сокетами за более высоким интерфейсом работы с HTTP?
    Написано
  • Возможно ли обучить ии играть в 3д шутеры?

    @odissey_nemo
    Только это не был ИИ, а построенная на простых и быстрых линейных алгоритмах логика, использовавшая для перемещения встроенные в карту маршруты. ИИ там и не пахло.
    Написано
  • Как добавить русский словарь в Android Studio?

    @odissey_nemo
    Да, это и есть искомая локализация, встроенная в Intelij но выделенная в Android Studio. Но нигде об этом ни полслова. Этот ответ был первым найденным верным, спасибо!
  • Влияют ли на производительность неиспользуемые библиотеки?

    @odissey_nemo
    Евгений, грамотное решение!
    Но в идеале хотелось бы избегать ручного труда хотя бы с библиотеками.
    Ведь библиотека может пригодиться и в других проектах. И каждый раз её вручную чистить - не в каждом проекте это хорошо.
    И тут опыт, реализованный в Delphi (как там сегодня, не в курсе, так было лет 15 назад) был бы желателен. Компилятор сам разберёт, качественно лучше человека, какие отдельные объектные модули (классы для Java и C#) нужны, а какие - нет.
  • Будет ли работать бинарный поиск, если в массиве есть пробелы?

    @odissey_nemo
    Бинарный поиск работает верно, если массив чисел отсортирован (для определённости - по возрастанию). Сами числа могут принимать любые значения из диапазона своего типа. Скажем, целые знаковые 4-х байтовые (в Java это int) имеют диапазон [-2147483648..2147483647], т.е. от отрицательного минимума до положительного максимума.
    Числа могут повторяться и разница между соседями может быть произвольной. Главное - последовательность не должна убывать.
  • Какую IDE выбрать для разработки на Java?

    @odissey_nemo
    Некоторым (e.g. мне) нравятся огурцы. По причине полного искажения вкуса дынь и арбузов(
  • Как получить все точки в промежутке координат XY1;XY2?

    @odissey_nemo
    Это в ГИС называется обычно bounding box или envelope или Rectangle.
    Описывается координатами угловой точки (обычно левой нижней) и шириной и высотой прямоугольника (например, в Java есть класс: Rectangle2D).
    В большинстве графических библиотек есть методы, типа bb.contains(pnt), где bb - это заданный bounding box, а pnt - это проверяемая точка. Вот древний метод из Java в классе Rectangle2D:
    public boolean contains(double x, double y) {
            double x0 = getX();
            double y0 = getY();
            return (x >= x0 &&
                    y >= y0 &&
                    x < x0 + getWidth() &&
                    y < y0 + getHeight());
        }

    Этим методом проверяются и отбираются все точки в цикле на предмет вхождения в прямоугольник.
  • Ошибка при чтении из файла Java. Как исправить?

    @odissey_nemo
    Ставьте имя файла в командной строке, получая его в программе как:
    ...
    String path = args[0]; // и другие имена как args[1]... args[N]
    ...

    И тогда все ошибки будут там, а не в коде программы. А в коде Вы создали неверное имя файла.
    При наличии пробелов в имени файла ставьте имя файла между двойными кавычками: "c:\temp\dir with path\file1.txt".
  • Как с помощью GPS и Arduino, надёжно и безопасно вывести человека из леса?

    @odissey_nemo
    Компас - лучший GPS/Глонасс, потребляет милливольты и микроамперы за 100 лет (если подключить к аккумулятору на нагрев), не разбивается при ударе, если не из пластмассы (у меня алюминиево-медный геологический времён СССР).
    Способствует развитию пространственного мышления и самостоятельности в принятии решений.
    Дёшев!

    Все перечисленные свойства абсолютно не рыночные и в РФ подвергаются гонениям на самом высшем уровне)))
  • Какие российские VPN остались?

    @odissey_nemo
    vldkr, да, 2014 год - год полной победы мирового министерства правды, в лице кремлёвского его департамента, над остатками теоретической свободы мнений в РФ.
    Как раз весной 2014 были тихо, без скандалов, закрыты последние из реально независимых, небольших сайтов и сайтиков.
    В это время тусовался на iraq-war.ru (бывший iraqwar.ru, где публиковался Рамзай), знал всех модераторов, владельца. И уверен - это были максимально независимые люди, искавшие и публиковавшие альтернативные факты для любых официальных событий.
    Большие порталы не закрывались, а единогласно переходили под внешнее управление.

    Смысла читать что-то одно или даже всё (тогда это будет генератор белого шума) в поисках истины сегодня не вижу.
    Но каждый сам решает, что хорошо, а что - плохо. Это ещё одно достижение департамента правды РФ.
  • Как удалить из hashmap все элементы с одинаковым значением?

    @odissey_nemo
    Davidaa_WoW, понимание тоже дорогого стоит)))
    Главное - понимать принципы. Знание немногих принципов заменяет незнание многих фактов.
  • Сравнение значения со значениями массива и нахождение ближайшего значения?

    @odissey_nemo
    Вопрос не понятен.
    Если надо просто найти в массиве ближайшее значение к некой константе, как написано, то просто цикл по всем значениям массива со сравнением с этой константой. Также заводим переменную min_dist = Float.MAX_VALUE;
    Если разница между значением и константой [по модулю] меньше min_dist, записываешь эту разницу в min_dist . В другую переменную (min_val) пишешь само значение из массива (или индекс его, без разницы) И так до конца.
    На выходе имеем min_val как значение с наименьшей разницей (или его индекс).
    Если индекс, то он будет последним из индексов для всех значений массива с той-же разницей.
    При чём тут шаг 0.25 - не ясно.
    Из кода выходит какое-то другое условие, наподобие поиска в диапазоне или ещё что. Типа того, что total выводится, когда оно вне диапазона текущего значения массива +/- 0.25
    Попробуйте сформулировать чётче.
  • Как сравнить два ArrayList`a по их содержимому?

    @odissey_nemo
    Dmitry Roo,
    Дело вкуса. Мне привычнее и понятнее циклы и коллекции. Стримы просто без надобности.
    Хотя не отрицаю, что кода с ними меньше. Но меньше - не значит понятнее. Чем выше абстракция, тем она обычно сложнее.

    Пруфы в Инете не искал. Делал сам.
    А циклы и коллекции быстрее по простой причине. Стримы слишком универсальны. должны удовлетворить всем типам данных. Поэтому с помощью них трудно выбрать все варианты и особенности структур данных. Например, в одном цикле можно сделать несколько произвольных операций над элементом коллекции, что является естественным.
    В то же время стримы. их операторы делают что-либо на лету, за один проход. Стало быть. понадобится несколько проходов для доступа к разным элементам и их данным.
    Грубо говоря, там где надо два стрима запустить, достаточно одного цикла.
    В любом случае, разница в производительности вряд ли будет критической. Главное - понятность и ясность кода для автора. И для будущих читателей.
    Это - главное!