areaint

Площадь поверхности многоугольника на сфере или эллипсоиде

Синтаксис

area = areaint(lat,lon)
area = areaint(lat,lon,ellipsoid)
area = areaint(lat,lon,units)
area = areaint(lat,lon,ellipsoid,units)

Описание

area = areaint(lat,lon) вычисляет сферическую площадь поверхности многоугольника, заданного входными векторами lat и lon. Вычисление использует подход линейного интеграла. Выход, area, часть площади поверхности, покрытой многоугольником на сфере единичного радиуса. Чтобы предоставить несколько многоугольников, разделите многоугольники NaNs во входных векторах. Точность метода интегрирования обратно пропорциональна расстоянию между точками lat/lon.

area = areaint(lat,lon,ellipsoid) вычисляет площадь поверхности многоугольника на эллипсоиде или сфере, заданной входом ellipsoid, который может быть referenceSphere, referenceEllipsoid, или oblateSpheroid объект или вектор из формы [semimajor_axis eccentricity]. Выход, area, находится в модулях квадратов, соответствующих модулям ellipsoid.

area = areaint(lat,lon,units) использует модули, заданные units, строковый скаляр или вектор символов 'degrees' или 'radians'. Если не использовано, модули по умолчанию степеней приняты.

area = areaint(lat,lon,ellipsoid,units) использование оба входные параметры ellipsoid и units в вычислении.

Примеры

свернуть все

Считайте область заключенной 30º двуугольник от полюса до полюса и ограниченный нулевым меридианом и 30ºE. Можно использовать функцию areaquad получить точное решение:

area = areaquad(90,0,-90,30)
area =
    0.0833

Это - 1/12 сферическая область. Чем больше точек раньше задавало этот многоугольник, тем больше этапов интеграции areaint берет, улучшая оценку. Эта первая попытка берет точку каждый 30º широты:

lats = [-90:30:90,60:-30:-60]';
lons = [zeros(1,7), 30*ones(1,5)]';
area = areaint(lats,lons)
area =
    0.0792

Теперь вычислите лучшую оценку с одной точкой каждый 1º широты:

lats = [-90:1:90,89:-1:-89]';
lons = [zeros(1,181), 30*ones(1,179)]';
area = areaint(lats,lons)
area =
    0.0833

Загрузите координаты широты и долготы периметра совпадающих Соединенных Штатов. Отобразите координаты на карте как многоугольник.

load('conus.mat','uslat','uslon')
figure
usamap([min(uslat) max(uslat)],[min(uslon) max(uslon)])
geoshow(uslat,uslon,'DisplayType','polygon')

Вычислите область совпадающих Соединенных Штатов в квадратных километрах. В этом случае, areaint функция возвращает три области. Самая большая область для многоугольника, представляющего совпадающие Соединенные Штаты. Другие две области для многоугольников, представляющих Лонг-Айленд и Виноградник Марты.

rKilometers = earthRadius('km');
a = areaint(uslat,uslon,rKilometers)
a = 3×1
106 ×

    7.9256
    0.0035
    0.0004

Загрузите координаты широты и долготы периметра Великих озер. Отобразите координаты на карте как многоугольник.

load('conus.mat','gtlakelat','gtlakelon')
figure
usamap([min(gtlakelat) max(gtlakelat)],[min(gtlakelon) max(gtlakelon)])
geoshow(gtlakelat,gtlakelon,'DisplayType','polygon')

Вычислите области Великих озер в квадратных милях. В этом случае, areaint функция возвращает три области. Самая большая область для многоугольника, представляющего Озеро Верхнее, Озеро Мичиган и Озеро Гурон. Другие две области для многоугольников, представляющих Озеро Эри и Озеро Онтарио.

rMiles = earthRadius('mi');
area = areaint(gtlakelat,gtlakelon,rMiles)
area = 3×1
104 ×

    8.0120
    1.0382
    0.7634

Советы

Независимо от порядка вершины многоугольника, значения, возвращенные areaint положительны.

Алгоритмы

Эта функция включает измерение областей, заключенных произвольными многоугольниками. Это - числовая оценка, с помощью линейного интеграла на основе Теоремы Зеленого. По сути, это ограничивается точностью и разрешением входных данных.

Учитывая достаточные данные, areaint функция является лучшим методом для определения областей комплексных многоугольников, таких как континенты, облачный покров и другие естественные или выведенные функции. Вычисления в этой функциональной работе сферическое Наземное предположение. Для несферических эллипсоидов данные о широте преобразованы во вспомогательную authalic сферу.

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте