Большие полигоны SQL Server 2008 R2 вдоль широты

Работая над Тихим океаном, я имею дело с огромными полигонами, покрывающими всю территорию. Некоторые из них довольно просты и определяются 4 точками в моем шейп-файле.

Однако, когда я импортирую их в SQL Server 2008 r2 как новые географии, из-за формы земли я получаю изогнутые линии, в то время как я хотел бы, чтобы северная и южная границы придерживались определенных широт: например, север границы должны следовать по 30° северной широты от 120° восточной долготы до 120° западной долготы.

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

Спасибо за вашу помощь

Сильвен


person Sylvain C.    schedule 09.12.2014    source источник


Ответы (1)


Вы уже сами на это ответили. Большие расстояния между координатами широты создадут изогнутые линии, соответствующие кривизне Земли. Поэтому, если вам нужно «привязать» их к определенной широте, вам нужно будет вручную вставить точки. Что касается интервала, здесь нет правильного или неправильного, небольшое экспериментирование здесь (и учитывая, насколько «анальным» вы хотите быть, обнимая линию) даст вам желаемый результат. 1 координата на градус должна сделать это, может быть даже немного излишним.

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

person Jon Bellamy    schedule 10.12.2014
comment
Спасибо Джону за это. Используя ArcGI, я использую инструмент уплотнения из GeoTools, чтобы добавить новые вершины вдоль моих северных и южных границ. Пришлось сделать так, потому что в случае полигона со следующими координатами (120 30, 220 30, 220 -30, 120 -30, 120 30) по параллелям 30 и -30, в SQL-сервере проверяется, точка попадала в мой полигон методом STIntersects, точка с координатами 170 30,5 считалась частью полигона, а должна быть снаружи. Наличие дополнительных вершин заставит многоугольники следовать параллелям. Надеюсь, это имеет смысл. - person Sylvain C.; 11.12.2014