7 votos

¿Cómo configuro las opciones de mmqgis create grid?

Estoy teniendo un rompecabezas sobre el uso de mmqgis crear capa vectorial opción. Quiero usar UTM CSR This are my options:

estas son mis opciones. Quiero una cuadrícula de 20.000 metros en los ejes este y norte. Sin embargo tengo una pantalla de error que dice: "anchura/altura no válida 6.0/6.0". Según entiendo mi configuración debería tener 6 líneas separadas por 20.000 metros. ¿Estoy entendiendo mal? Gracias de antemano

7voto

tobes Puntos 19

Sin comprobarlo, yo interpretaría las opciones de la siguiente manera:

  • izquierda x: min x
  • anchura: anchura de la cuadrícula completa, por lo tanto ... min x + anchura = max x
  • h espaciado: anchura de una celda

lo mismo para la segunda dimensión

0 votos

¡Sí! Eso era lo que quería entender. Gracias por su tiempo

1voto

gdm Puntos 180

Me costó mucho configurar el espaciado V y H para los hexágonos. El cuadro de diálogo en mmqgis es menos que útil. ¿Qué significa exactamente el espaciado V? ¿Qué pasa si quiero especificar un área para cada hexágono? ¿Qué pasa si quiero especificar una longitud de lado? ¿Qué significa un espaciado V de 1000 unidades en área?

He creado un sencillo script en Python (y un gráfico que lo acompaña) para ayudar a los usuarios con este problema. La cuestión es que los parámetros se utilizan para crear el delimitando de los hexágonos, en lugar de un hexágono en sí.

Copia y pega esto en un archivo de texto llamado get_params.py A continuación, abra la consola/línea de comandos y cambie el directorio al lugar donde se encuentra el archivo y ejecute » python get_params.py .

from math import sqrt

# Passes a desired area (in acres) and returns a dictionary of mmqgis v- and h-spacing parameters
def getParamsFromArea(target_area_ac):
  target_area_ft = 43560 * target_area_ac
  target_side_length = sqrt( target_area_ft / (3 * sqrt(3) / 2) )
  bounding_side_length = target_side_length * sqrt(3)
  bounding_incircle_radius = 3 * target_side_length / 2
  params = {'h-spacing': bounding_incircle_radius, 'v-spacing': bounding_side_length}
  print("""A target hexbin of {} acres yields a side 
  length of {:.4f} feet and is {} sq.ft. in area""".format(target_area_ac, target_side_length, target_area_ft))
  for k, v in params.iteritems():
    print("{}: {:10.8f} feet".format(k, v))
  for k, v in params.iteritems():
    print("{}: {:10.8f} meters".format(k, v * 0.3048))
  return params

# Passes a desired side length (in feet) and returns a dictionary of mmqgis v- and h-spacing parameters
def getParamsFromLength(target_side_length):
  target_area_ft = ( target_side_length * target_side_length ) * ( (3 * sqrt(3) ) / 2 )
  target_area_ac = target_area_ft * 2.29568e-5
  bounding_side_length = target_side_length * sqrt(3)
  bounding_incircle_radius = 3 * target_side_length / 2
  params = {'h-spacing': bounding_incircle_radius, 'v-spacing': bounding_side_length}
  print("A target hexbin with side length {} feet yields an area of {:.2f} acres and {} sq.ft. in area".format(target_side_length, target_area_ac, target_area_ft))
  for k, v in params.iteritems():
    print("{}: {:10.8f} feet".format(k, v))
  for k, v in params.iteritems():
    print("{}: {:10.8f} meters".format(k, v * 0.3048))
  return params

# Passes the mmqgis dialogue parameter 'V spacing' and prints the resulting side length and area
def translateVsp(v_spacing):
  bounding_side_length = v_spacing
  target_side_length = bounding_side_length / sqrt(3)
  target_area_ft = ( target_side_length * target_side_length ) * ( (3 * sqrt(3) ) / 2 )
  target_area_ac = target_area_ft * 2.29568e-5
  print("A V spacing of {} units yields a side length of {} units and an area of {} units squared.".format(v_spacing, target_side_length, target_area_ft))

# Get user input
mode = raw_input("Do you want to get parameters or translate V spacing? ('p' or 't'): ")
if mode == 't':
  v = input("Enter the V spacing from mmqgis input dialogue: ")
  translateVsp(v)
elif mode == 'p':
  calc_type = raw_input("Do you want to get parameters from a side length or an area? ('l' or 'a'): ")
  if calc_type == 'a':
    a = input("Enter the number of acres for the hexbin: ")
    getParamsFromArea(a)
  elif calc_type == 'l':
    l = input("Enter the side length for the hexbin: ")
    getParamsFromLength(l)
  else:
    print("Error: enter 'l' or 'a' (without quotes) when prompted.")
else:
  print("Error: enter 'p' or 't' (without quotes) when prompted to select a calculation mode.")

explanation of mmqgis grid overlay for hexbins

1voto

Aaron Scott Puntos 56

A mí también me daba este error. El problema es que el Width es inferior al H Spacing sólo debe bajar el H Spacing y el V Spacing se actualizará automáticamente.

puede ver el error en la fuente aquí :

buscar Invalid width / height

0 votos

También aquí está la documentación michaelminn.com/linux/mmqgis

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X