Вычислить два / четыре угла (Восток, север, Запад, Юг) из списка полигонов

#postgresql #postgis

#postgresql #postgis

Вопрос:

Я хочу определить четыре / два угла любого города / штата / страны или области. Давайте предположим, что я хочу определить почтовый индекс corners для США. У меня есть список почтовых индексов с их ctrx (долгота) и ctry (широта). и я попробовал: — первый угол

 SELECT * FROM optimization_test.account order by latitude(ctry);
  

— второй угол

 SELECT * FROM optimization_test.account order by longitude(ctrx) desc; 
  

Но это не работает с ПОЛНЫМ США. Пожалуйста, помогите мне определить почтовые индексы углов для США / любой группы почтовых индексов.

Комментарии:

1. что вы имеете в виду, говоря «Но это не работает с ПОЛНЫМИ США». покажите нам действительный образец данных, ваш фактический результат и ваш ожидаемый результат

2. @scaisedge- У меня есть данные примерно такого рода, как показано ниже… Почтовый индекс ctrx(долгота) ctry(широта). Давайте возьмем пример — у меня есть весь почтовый индекс Аляски со значениями центроида. Теперь я хочу определить почтовый индекс восточного / Западного / северного / южного углов.

3. Самая верхняя / самая нижняя точка не обязательно является угловой точкой.

4. @JGH- пожалуйста, предложите любое решение. Я буду очень признателен.

Ответ №1:

Вы могли бы попробовать выбрать max и min для latidtude и longintude .. эти значения должны быть максимальным прямоугольником для всех crty

  SELECT  max(ctry_latitude) NORTH
  ,  max(ctry_longitude) EAST
  ,  min(ctry_latitude) SOUTH
  ,  min(ctry_longitude)   WEST  
 FROM optimization_test.account