¿Dibujar símbolos de puntos de vista en QGIS?


9

Hice un símbolo de punto de vista en QGIS al diseñar un punto para que sea un círculo y agregar algunas líneas que se rotan en diferentes ángulos, y terminó así

Punto de vista 360

En un mundo perfecto, preferiría que este símbolo fuera un estilo de polígono (en lugar de un estilo de punto), por lo que sería el tamaño correcto en cualquier zoom (sin crear símbolos dependientes del zoom).

Mi problema es que me gustaría un semicírculo, como este:

medio punto de vista

y un círculo de más de la mitad menos que completo como este:

punto de vista extraño

¿Alguna sugerencia sobre cómo puedo crear un estilo como este en QGIS?


3
puedes crear un icono de svg y agregarlo, rotar, etc. solo es una sugerencia
Fran Raga

2
Busque una respuesta sobre el generador de geometría que pueda darle una idea. este gis.stackexchange.com/questions/229961/… por ejemplo podría ponerlo en el camino correcto
JR

¿Cómo se definen el recuento de segmentos y la posición de los segmentos faltantes?
geozelot

El número de segmentos es arbitrario. Solo necesito mirar algo como esos ejemplos. Y no estoy seguro de cómo podría definir los segmentos perdidos. Tal vez dibuje un círculo y dele un valor "sea un círculo de 270 grados" o "sea un círculo completo excepto 30 grados, gire 50 grados"
Fredrik

2
¿Has intentado crear buffers de cuña? wedge buffers qgis docs
Amanti

Respuestas:


4

Sin embargo, otro enfoque SVG:

Guarde los textos a continuación como un archivo de texto SVG (digamos petal.svg) en su carpeta SVG.

<?xml version="1.0" encoding="UTF-8"?>
<svg id="petal" enable-background="new 0 0 300 300" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <path d="M150,150 v-100 a100,100 0 0,1 38.26834323,7.61205 z"
        fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)" stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width) 0.2"/>
</svg>

Mostrará un solo pétalo (ángulo central ~ 22.5 grados) cuando se cargue en QGIS como el marcador SVG. El ángulo de rotación comienza en cero y aumenta en sentido horario. Cambie los colores de relleno y contorno según sea necesario.

ingrese la descripción de la imagen aquí

Para su uso, es posible que necesite tener dos pétalos (45 grados), tres pétalos (67.5 grados), etc. Por favor, avíseme si necesita esas variaciones .


EDITAR (casos agregados para dos, tres y cuatro pétalos)

Dos pétalos:

<?xml version="1.0" encoding="UTF-8"?>
<svg id="2 petals" enable-background="new 0 0 300 300" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <path d="M150,150 v-100 A100,100 0 0,1 188.26834,57.61205 L150,150 L188.26834,57.61205 A100,100 0 0,1 220.7107,79.28932 z"
        fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)" stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width) 0.2"/>     
</svg>

Tres pétalos:

<?xml version="1.0" encoding="UTF-8"?>
<svg id="3 petals" enable-background="new 0 0 300 300" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <path d="M150,150 v-100 A100,100 0 0,1 188.26834,57.61205 L150,150 L188.26834,57.61205 A100,100 0 0,1 220.7107,79.28932 L150,150 L220.7107,79.28932 A100,100 0 0,1 242.388,111.7317 z"
        fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)" stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width) 0.2"/>     
</svg>

Cuatro pétalos:

<?xml version="1.0" encoding="UTF-8"?>
<svg id="4 petals" enable-background="new 0 0 300 300" version="1.1" viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
  <path d="M150,150 v-100 A100,100 0 0,1 188.26834,57.61205 L150,150 L188.26834,57.61205 A100,100 0 0,1 220.7107,79.28932 L150,150 L220.7107,79.28932 A100,100 0 0,1 242.388,111.7317 L150,150 L242.388,111.7317  A100,100 0 0,1 250,150 z"
        fill="param(fill)" fill-opacity="param(fill-opacity)" stroke="param(outline)" stroke-opacity="param(outline-opacity)" stroke-width="param(outline-width) 0.2"/>     
</svg>

O bien, agregar capas de marcadores SVG puede ser una opción ... pero esto es en gran parte un trabajo manual y no es recomendable.

ingrese la descripción de la imagen aquí


Otra opción : complemento Herramientas de forma

Si no tiene que tener "radios", recomendaría el complemento Shape Tools . A diferencia Wedge buffersde QGIS3, se puede establecer starty endazimut directamente desde sus campos de atributos. Hace las cosas mucho más fáciles y rápidas.

ingrese la descripción de la imagen aquí


¡Sólo brillante!
Taras

0

Casi lo tienes. Prueba estos pasos:

  1. Abra su PNG con Inkscape y guárdelo como SVG (plano) dentro de una carpeta (puede ser que los símbolos SVG dentro de QGIS sean un buen lugar).
  2. Dentro de QGIS, vaya a Sistema -> Opciones -> Sistema. Luego agregue la ruta de su carpeta a las rutas SVG. Cierre QGIS y vuelva a abrirlo solo para asegurarse de que se cargará esta nueva ruta de carpeta.
  3. Vaya a las propiedades de capa y busque sus nuevos símbolos. Acabo de probar el tuyo y funcionó.

ingrese la descripción de la imagen aquí


En caso de que necesite cambiar el tamaño del símbolo automáticamente, trabaje con estas opciones: gis.stackexchange.com/questions/113513/…
César Arquero
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.