Максимальное значение длины без списка (python + QGIS)
Добавлено: 07 сен 2012, 15:59
				
				Пытаюсь получить максимальное значение длины линии, пересекающей полигон (переменная width).
Такой код работает:
Однако, я хотел бы обойтись без списка, чтобы меньше загружать оперативку. Такой вариант, например, не работает:
Как обойтись без списка?
			Такой код работает:
Код: Выделить всё
  width_list = []
  while y_init <= Y2:
    x_new = x_init + dx
    y_new = y_init - dy
    A = QgsPoint(x_init, y_init)
    B = QgsPoint(x_new, y_new)
    m_line = QgsGeometry.fromPolyline( [ A, B ] ) 
    intersec = m_line.intersection(polygon)
    current_width = intersec.length()
    width_list.append(current_width)
    y_init = y_init + step
  width = max(width_list)
  return widthОднако, я хотел бы обойтись без списка, чтобы меньше загружать оперативку. Такой вариант, например, не работает:
Код: Выделить всё
  width = 0
  while y_init <= Y2:
    x_new = x_init + dx
    y_new = y_init - dy
    A = QgsPoint(x_init, y_init)
    B = QgsPoint(x_new, y_new)
    m_line = QgsGeometry.fromPolyline( [ A, B ] ) 
    intersec = m_line.intersection(polygon)
    current_width = intersec.length()
    if current_width > width:
      width = current_width
    else:
      pass
    y_init = y_init + step
  return widthКак обойтись без списка?