1. ВНИМАНИЕ! В течении пары дней +- будет переезд форума на более защищённый сервер. Возможны периодические перебои в работе.

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

Discussion in 'Общение' started by filippov70, May 5, 2015.

  1. filippov70

    filippov70 Форумчанин

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

    X-Y-H Администратор Staff Member

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

    filippov70 Форумчанин

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

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

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

    filippov70 Форумчанин

    получается так (для осей как в декартовой):
    Code:
    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. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice