6 votos

¿QGIS representar símbolos SVG?

Estoy un poco confundido acerca de gráficos SVG! Estoy intentando crear un script que crea una "referencia del norte" en SVG, y lo hace bien cuando se ve en Firefox. En Inkscape, hay algunos problemas con la orientación del texto (la "GN" marcador, pero puedo solucionar eso), pero en QGIS se hace muy mal.

<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" 
  "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="5cm" height="5cm" viewBox="0 0 400 400"
     xmlns="http://www.w3.org/2000/svg" version="1.1">
  <title>North Arrows</title>
  <defs
    id="arrowheads">
    <marker
     style="overflow:visible"
     id="magnetic"
     refX="0.0"
     refY="0.0"
     orient="auto">
     <path d="M 5 0 L 40 0 L 5 7 z"
        stroke="#000" stroke-width="1" fill="#000" />
    </marker>
    <marker
     style="overflow:visible"
     id="true"
     refX="0.0"
     refY="0.0"
     orient="auto">
     <path
        transform="scale(0.8)"
        d="M 0 -10 L 35 0 L 0 10 L 22 -18 L 22 18 z"
        stroke="#000" stroke-width="1" fill="#000" />
    </marker>
    <marker
     style="overflow:visible"
     id="grid"
     refX="0.0"
     refY="0.0"
     orient="auto">
     <text
        style="font-size:20px;font-family:sans-serif;writing-mode: tb;"
        >
         <tspan
         y="-15"
         x="10"
         id="grid_text">GN</tspan> 
        </text>
    </marker>
  </defs>
  <path d="M 200 380 L 230 90"
        stroke="#000" stroke-width="1" 
        style="marker-end:url(#magnetic)" />
  <path d="M 200 380 L 180 60"
        stroke="#000" stroke-width="1"
        style="marker-end:url(#true)" />
  <path d="M 200 380 L 200 30"
        stroke="#000" stroke-width="1"
        style="marker-end:url(#grid)" />
  <text y="395" style="font-size:15px;font-family:sans-serif;" >
        <tspan x="220" dy="-15">GN = 0</tspan>
        <tspan x="220" dy="-15" >Magnetic Dev. 20</tspan>
        <tspan x="220" dy="-15" >True North = 10</tspan>
  </text>
</svg>

Cuando me vista previa o abrir en Firefox se ve como esto: Firefox preview

Pero cuando agrego la imagen en QGIS (Compositor) se parece a esto: QGIS image in composer

¿QGIS tiene una limitada SVG representación de capacidad, o es Qt que tiene limitaciones? No es mi SVG en un "válido" formato/sintaxis?

[Editar] Me estoy inclinando hacia un Qt problema, ya que "karbon" (Qt aplicación vectorial) previsualiza el archivo bien, pero cuando se abre, muestra la misma como en QGIS. A la hora de crear una línea con marcadores de flecha en karbon y el ahorro como SVG, marcadores se pierden! Es Qt realmente esta mal en representación SVG??

8voto

Qwerky Puntos 149

Bien. Resulta que QtSvg (y por lo tanto QGIS) solo es compatible con SVG "Tiny" 1.2. Descripción para Tiny

Una de las cosas que "Tiny" no admite es "marcadores" ...

Necesito generar mis "puntas de flecha" como polígonos separados, colocarlos y rotarlos manualmente ...

El trabajo está en camino.

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