Поскольку это часто просматриваемый вопрос, я хочу упомянуть, что функция PowerShell должна использовать утвержденных глаголов ( Verb-Noun в качестве имени функции). Также вы можете указать, например, является ли параметр обязательным и позицией параметра:
function Test-Script
{
[CmdletBinding()]
Param
(
[Parameter(Mandatory=$true, Position=0)]
[string]$arg1,
[Parameter(Mandatory=$true, Position=1)]
[string]$arg2
)
Write-Host "`$arg1 value: $arg1"
Write-Host "`$arg2 value: $arg2"
}
Чтобы передать параметр в функцию, которую вы Вы можете использовать позицию :
Test-Script "Hello" "World"
Или вы задаете имя параметра :
Test-Script -arg1 "Hello" -arg2 "World"
Вы не используйте круглые скобки , как вы используете при вызове функции в C #.
Я бы рекомендовал всегда передавать имена параметров при использовании более одного параметра, так как это более читабельное .
GEOS - это движок геометрии / топологии C ++ с открытым исходным кодом (LGPL). Может вам подойти?
Полезные места для поиска этого материала - это полезная статья на веб-сайте O'Reilly, а также OSGeo , который является совместным проектом по поддержке геопространственных материалов с открытым исходным кодом.
В зависимости от того, насколько сложными будут эти вычисления, вы можете захотеть написать свои собственные. Если вы просто занимаетесь областью, это может быть вашим лучшим вариантом для скорости и отсутствия раздувания.
в противном случае библиотека Geographic Foundation Class (GFC) - ваш лучший выбор.
Он недостаточно всеобъемлющий и высокоуровневый для того, что вы просили, но для выполнения геодезических преобразований вы можете использовать превосходную библиотеку GEOTRANS NGA:
http: //earth-info.nga. mil / GandG / geotrans /
Это позволит вам конвертировать между такими вещами, как широта / долгота WGS84, и местной декартовой системой координат. Код C хорошо протестирован, задокументирован и является общественным достоянием.
Проект с открытым исходным кодом CGAL обеспечивает легкий доступ к эффективным и надежные геометрические алгоритмы в форма библиотеки C ++. CGAL используется в различных областях, требующих геометрических вычисление, например: компьютер графика, научная визуализация, компьютерное проектирование и моделирование, геоинформационные системы, молекулярная биология, медицинская визуализация, робототехника и планирование движения, сетка генерация, численные методы.
Общая библиотека геометрии (geometrylibrary.geodan.nl, в настоящее время находится в «предварительной версии 4») обеспечивает общую реализацию геометрических алгоритмов, работающих с определяемой пользователем геометрией. Алгоритмы включают в себя некоторые хорошо известные и часто необходимые алгоритмы, такие как точка в многоугольнике, область многоугольника, расстояние от точки к точке, расстояние от точки до линии, обрезка линии и обрезка многоугольника, выпуклые оболочки. Он также содержит алгоритмы преобразования, картографические проекции и алгоритмы выбора. Помимо алгоритмов, библиотека предоставляет классы геометрии, которые можно использовать, но общие алгоритмы от них не зависят. (Предлагается для включения в Boost)
GEOS для модели геометрии и GDAL / OGR для библиотеки абстракции пространственных данных, которая поддерживает растры и векторы .
Используя эти библиотеки, вы также сможете работать с различными системами координат (например, с преобразованием из / в WGS84), поскольку обе они используют Proj.4 под капотом. Чтобы найти расстояния в метрах, вы можете преобразовать WGS84 во что-то, что использует метры, например UTM.
Вы пробовали SUP.FINDALL («DIV», {«ID»: «Articticbody»})
?
звучит с ума, но если вы соскребаете вещи из дикой природы, можете Не исключаю несколько Divs ...
-121--2020243-Я также рекомендую общая библиотека геометрии , в последнее время была рассмотрена , и в конечном итоге принято к коллекции библиотек Boost C ++ . Как входит в Boost, GGL теперь называется Boost.Geometry, точнее Boost.Geometry Aka GGL, общая библиотека геометрии .
Другие полезные инструменты