SQL Server 2008 R2 големи полигони по ширина

Работейки върху Тихия океан, имам работа с огромни полигони, покриващи цялата област. Някои от тях са доста прости и се определят от 4 точки в моя шейпфайл.

Въпреки това, когато ги импортирам в SQL сървър 2008 r2 като нови географски области, поради формата на земята, завършвам с извити линии, докато бих искал северната и южната граница да се придържат към някои специфични географски ширини: например северната границите трябва да следват 30N ширина от 120E до 120W.

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

Благодаря за вашата помощ

Силвен


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