Inkscape.org
Beginners' Questions Can metadata affect the speed of Inkscape?
  1. #1
    SilvioManuel SilvioManuel @SilvioManuel
    *

     

    I create a large map in Inkscape and, as a result, make the most of the symbols. But I would like to fill this map with a lot of metadata. Can I do it bravely? If not, can you expect Inkscape to connect to an external database in the future?

  2. #2
    Lazur Lazur @Lazur

    Hi. 

     

    Symbols are stored in the defs section as far as I know and not as metadata as far as I know. 

    Yes, too many of definitions can cause performance issues if working on them but too many is not an exact measure and it's hard to determine the limit which varies with each cpu&hard drive inkscape is able to use. 

     

    If you want to use symbols throughout different inkscape instances, you can save it to the default template. 

    Theoretically in windows that's located at users\user\appdata\roaming\inkscape\... maybe templates? Just checked, bit confused about that because the other way would be saving such files to is program files\inkscape\share\symbols. Files in the roaming folder are kept once reinstalling inkscape while the latter is not.

    Here is the readme file from that folder:

    wastenot

    Internationalization

    These files are internationalized the same way as
    share/filters/filters/svg The i18n.py script called from the makefile
    will extract strings from the *.svg files into a *.svg.h
    file. Intltool is then able to extracts these strings just like from
    normal .h files.


    Adding new files

    Symbol files should be carefully prepared.

    1. The SVG should be clean: No unnecessary transforms, sensible path
       data, etc. Do a manual inspection. Remove cruft like guide-lines,
       grids, etc.
     
    2. Avoid adding unnecessary style properties in the symbol elements;
       this prevents the user from over-riding the default styling by
       specifying the style on the <use> element. Default styling can be
       specified in the root SVG element. Inkscape will apply this
       styling by default in the <use> element.

    3. Provide a meaningful <title> element for each symbol. This will be
       appear in the GUI as a tool-tip.

    4. Make sure there are no "transform" elements in the <symbol>
       element. Transforms are not allowed per specification and are not
       supported in most browsers. ('refX' and 'refY' are allowed in SVG
       2.)

    5. Add a section with <use> elements to demonstrate the symbols is the
       file is opened by itself.

     

    Hope it helps a bit.

  3. #3
    SilvioManuel SilvioManuel @SilvioManuel
    Lazur

    Здравствуй.    Насколько я знаю, символы хранятся в разделе defs, а не в виде метаданных.  Да, слишком много определений может вызвать проблемы с производительностью, если работать с ними, но слишком много не является точной мерой, и трудно определить предел, который зависит от каждого процессора и жесткого диска, который может использовать inkscape.    Если вы хотите использовать символы в разных экземплярах Inkscape, вы можете сохранить их в шаблоне по умолчанию.  Теоретически в окнах, которые расположены по адресу users \ user \ appdata \ roaming \ inkscape \ ... может быть шаблоны? Только что проверил, немного запутался, потому что другим способом было бы сохранить такие файлы в программные файлы \ inkscape \ share \ symbols. Файлы в перемещаемой папке сохраняются после переустановки inkscape, а последняя - нет.

     

     

    Dear Azure! I am glad that you answered. But I talked about symbols as one of the efforts that I put in to increase map performance. Actually, I’m interested in the moment of filling out the attributes of objects (performance with a lot) - this is one, as well as the possibility in the future to bring these attributes out, in a tabular form and with a link - these are two.
    P. S. Sorry for the clumsy description of my question. I write through an online translator

  4. #4
    brynn brynn @brynn

    I probably cannot answer your questions directly.  They probably are too advanced for me.

    To add objects to the map, they have to be added on the canvas, as far as I know.  To add metadata to the Inkscape file, go to Document Properties > Metadata.  But this metatdata does not put anything on the canvas, or on your map.

    As for connecting to external database....I guess it depends on what purpose you have in mind.  It is possible, for example, to change something in one SVG file, and it changes the same thing in another SVG file.  But I don't know how to do that.  I think it's something about embedding one SVG file in another.

    If I understand your message, you want to add something to your map, via external database.  Something that you refer to as metadata.  Right?  I have not heard any discussion to that effect among developers.  But I am not myself a developer, so of course I don't hear of anything, until it's close to happening.

    Hopefully someone with more advanced knowledge will come along soon.

  5. #5
    SilvioManuel SilvioManuel @SilvioManuel

    Brynn, thanks for the answer! You answered the second question, I understand that. On the first question: I don't want to display and visualize metadata on the map, but what happens if I add one hundred thousand records or two hundred to the attributes of objects. What will be the speed if they are not displayed? So I asked a question about the connection to external data. I thought that maybe if there is a linked image technology, then the metadata is also possible

  6. #6
    brynn brynn @brynn

    I think I understand what you're asking.  I just don't know if that's ever been discussed among developers.  If you want, you could make up a feature request.  Maybe someone will like the idea, and want to work on it.  This message tells how to make a feature request.  https://inkscape.org/forums/beyond/how-to-report-bugs-or-request-new-features/

  7. #7
    SilvioManuel SilvioManuel @SilvioManuel

    Brynn, thank you!

  8. #8
    Tyler Durden Tyler Durden @TylerDurden

     

    It might be helpful to note that SVG files are XML and can be interactive via internal/external CSS and javascript . 

  9. #9
    Tyler Durden Tyler Durden @TylerDurden
    *

    A test of additional data (not displaying) on every object does not seem to degrade performance in Inkscape or in a browser.

    2500NoDesc.svg has 2500 path objects with no description info.

    2500YesDesc.svg has 2500 path objects with 1200 characters of description info on each.

    2500Yesdesc
    2500Nodesc
Inkscape Inkscape.org Inkscape Forum Beginners' Questions Can metadata affect the speed of Inkscape?