как определить северо-западную вершину полигона

Тема в разделе "Общение", создана пользователем filippov70, 5 май 2015.

  1. filippov70

    filippov70 Форумчанин

    Доброго дня!
    Может кто сталкивался с поиском северо-западной вершины полигона? Интересует алгоритм поиска, хочу сделать кнопку для QGIS, чтобы полигон начинался по-православному, с северо-запада, как бы его не нарисовал пользователь.
     
  2. X-Y-H

    X-Y-H Администратор Команда форума

    Владислав, напиши @Disney, он для своего импорта точек в автокад реализовывал подобное.
     
  3. filippov70

    filippov70 Форумчанин

    написал. если у меня получится, опишу здесь
     
  4. BearDyugin

    BearDyugin Модератор Форумчанин

    Северная - у которой X самый большой
    Западная - у которой Y самый маленький
    Так вот, чтобы из всех северных и западных найти самую северо-западную, нужно найти ту вершину, у которой X минус Y будут максимальными, ну или Y минус X минимальные.
     
    Последнее редактирование: 5 май 2015
    uriygr, filippov70 и X-Y-H нравится это.
  5. filippov70

    filippov70 Форумчанин

    получается так (для осей как в декартовой):
    Код:
    import math
     
    def findNorthWestPoint(ring):
    	maxYX = 10000000
    	iter = 0
    	idx = 0
    	for point in ring:
    		if iter < len(ring)-1:
    			x = point.x()
    			y = point.y()
    			if (x - y) < maxYX:
    				maxYX = (x - y)
    				idx = iter
    		iter += 1
    	return idx
     
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление