Создание отдельной Папки в том же пакете … [Eclipse]

Как указывалось, точный расчет должен учитывать, что Земля не является идеальной сферой. Вот некоторые сравнения различных алгоритмов, предлагаемых здесь:

geoDistance(50,5,58,3)
Haversine: 899 km
Maymenn: 833 km
Keerthana: 897 km
google.maps.geometry.spherical.computeDistanceBetween(): 900 km

geoDistance(50,5,-58,-3)
Haversine: 12030 km
Maymenn: 11135 km
Keerthana: 10310 km
google.maps.geometry.spherical.computeDistanceBetween(): 12044 km

geoDistance(.05,.005,.058,.003)
Haversine: 0.9169 km
Maymenn: 0.851723 km
Keerthana: 0.917964 km
google.maps.geometry.spherical.computeDistanceBetween(): 0.917964 km

geoDistance(.05,80,.058,80.3)
Haversine: 33.37 km
Maymenn: 33.34 km
Keerthana: 33.40767 km
google.maps.geometry.spherical.computeDistanceBetween(): 33.40770 km

На небольших расстояниях алгоритм Киртхана действительно совпадает с алгоритмом Google Maps. Карты Google, похоже, не следуют какому-либо простому алгоритму, предполагая, что он может быть наиболее точным здесь.

В любом случае, вот реализация Jerascript алгоритма Киртаны:

function geoDistance(lat1, lng1, lat2, lng2){
    const a = 6378.137; // equitorial radius in km
    const b = 6356.752; // polar radius in km

    var sq = x => (x*x);
    var sqr = x => Math.sqrt(x);
    var cos = x => Math.cos(x);
    var sin = x => Math.sin(x);
    var radius = lat => sqr((sq(a*a*cos(lat))+sq(b*b*sin(lat)))/(sq(a*cos(lat))+sq(b*sin(lat))));

    lat1 = lat1 * Math.PI / 180;
    lng1 = lng1 * Math.PI / 180;
    lat2 = lat2 * Math.PI / 180;
    lng2 = lng2 * Math.PI / 180;

    var R1 = radius(lat1);
    var x1 = R1*cos(lat1)*cos(lng1);
    var y1 = R1*cos(lat1)*sin(lng1);
    var z1 = R1*sin(lat1);

    var R2 = radius(lat2);
    var x2 = R2*cos(lat2)*cos(lng2);
    var y2 = R2*cos(lat2)*sin(lng2);
    var z2 = R2*sin(lat2);

    return sqr(sq(x1-x2)+sq(y1-y2)+sq(z1-z2));
}
8
задан Rich Seller 21 July 2009 в 16:17
поделиться

5 ответов

Что вы можете сделать, если вы не помещаете код в эту папку, так это удалить эту папку из пути сборки. Щелкните правой кнопкой мыши по проблемной папке в eclipse и выберите «исключить из пути сборки».

Или вам может потребоваться другой эффект:

Щелкните правой кнопкой мыши свой проект и выберите «Добавить новую исходную папку». Затем в эту папку добавьте правильную структуру папок пакетов.

У вас могут быть файлы в одном пакете, расположенные в разных папках.

12
ответ дан 5 December 2019 в 10:43
поделиться

Вам необходимо исключить папку из исходного пути

2
ответ дан 5 December 2019 в 10:43
поделиться

В исходной папке все «новые» папки будут считаться новым пакетом. Это часть спецификации Java, которая делает все папки из корня частью структуры пакета.

1
ответ дан 5 December 2019 в 10:43
поделиться

Как уже говорили другие, это стандартное поведение Java, и его не стоит обойти. Вероятно, вам лучше создать другую папку вне исходной папки.

Однако есть способ сделать это в Eclipse, имейте в виду, что это может снова преследовать вас, если вы позже попытаетесь построить за пределами Eclipse, поскольку другие инструменты победили Эти настройки не соблюдаются.

Вы можете исключить папку из исходного пути, открыв свойства проекта.

Выбор Путь сборки Java -> Источник Выберите соответствующую исходную папку и выберите дочерний элемент Excluded: Нажмите Edit ... кнопка. Нажмите кнопку Добавить рядом с панелью Шаблоны исключения: Добавьте вашу папку и Finish / OK обратно в редактор.

Соответствующие ресурсы теперь будут исключены из компиляции в Eclipse. Однако он по-прежнему будет отображаться в редакторе как пакет.

1
ответ дан 5 December 2019 в 10:43
поделиться

Вы хотите создать новый дочерний пакет (панель) существующего пакета. (com.foo)

Выберите новый пакет и назовите его « com.foo.bar ». Eclipse правильно поместит его в com.foo.

FYI: Папки в любой "исходной" папке отображаются как пакеты. Нет никакой физической разницы, за исключением того, что они появляются на пути сборки. Как показано в другом месте, вы можете исключить их, но для начала проще не помещать их в / src / ...

0
ответ дан 5 December 2019 в 10:43
поделиться