[Qgis-user] Generate Text Labels for USA National Map?

Bernhard Ströbl bernhard.stroebl at jena.de
Wed Jul 5 23:21:40 PDT 2017


Hi Jeshua,
I cannot advice you in how you can achieve your goal :-(
but would like to give some more answers and explanations

Am 05.07.2017 um 23:41 schrieb Jeshua Lacock:
>
>> On Jul 5, 2017, at 2:32 AM, Bernhard Ströbl <bernhard.stroebl at jena.de> wrote:
>>
>> - I assume you want to have QGIS create label texts for all your data in one go.
>
> Hi Bernhard,
>
> That would be ideal.
>
>> If that is the case this is a misunderstanding of what labels are (in QGIS): QGIS creates (and places) the labels at run-time for the map extract currently on display. Labels thus are no features of their own (GIS only knows points/lines/polygons) but a way to display GIS features (like e.g. color, outline etc.)
>
> I was afraid that might be the case. :’(
>
>> - This means the labels are valid for this particular map extract in this particular scale. E.g. imagine a lake (= one polygon) that expands on two map extracts, it will be labeled in both => one feature, two labels
>
> Understood. I was thinking of generating text at say 4 different scales.
>
>> - Thus the label text is only within QGIS, export may be possible with dxf-export
>
> Is it possible to script or automate setting the view extents and exporting?

(I assume) you may of course use a script that automatically creates map 
extracts and exports the labels but you will face the problem of 
multiple labels for the same feature (lake example, steet that stretches 
over several extracts). If you want labels for an arbitray map extract 
IMHO you cannot produce the labels in advance but have to label at run time
>
>> - IMHO it doesn't make sense to try to use the labels outside of QGIS; what is your intended final result? Which software are you planning to use for creating your final result?
>
> Initially it will be a custom iOS app (with planned android and possibly desktop computer versions). I might offer printed hard copies too at some point.

This sounds like arbitrary map extracts, so your app should label at run 
time; Andreas already commented on that more sophisticated than I could.
>
>> - There will be map extracts with "many" labels (city centres) and map extracts with "few" labels (boondocks).
>
> Yes, that is why I was looking for something that already can deal with crowded text versus re-inventing the wheel.
>
>> - QGIS can prevent overlapping labels; in placement you can assign a priority to the labels of this layer (so e.g. rivers are always labeled whereas streets only if not in conflict with rivers)
>
> Nice.
>
>> - The rule based labelling works _within_ a layer; a rule is a logical statement about the feature to be labeled. The logic can be based on the feature's attribute values or geometry (e.g. label only lakes larger than x)
>
> So essentially, I would want all the text on one layer - so point text doesn’t overlap with say road or river text, correct?

No, the rule-based labelling sports rules that decide _if_ (and how) a 
feature within a layer should be labelled; think of a layer containing 
street lines:
Rule 1: Label all major streets at all scales with 10pt bold
Rule 2: Label minor streets only at larger scales with 8pt normal
Rule 3: Do not label residential streets at all

QGIS' labelling algorithm will then collect all labels from all layers 
delivering labels for the map extract to be rendered and decides if 
labels need to me moved or suppressed because of the settings (e.g. 
label priority) to prevent overlapping labels. At this point the rules 
have already been applied as the rules deliver a set of labels for a 
particular layer.

If you consider your river labels more important than your road labels 
simply give them a higher priority.

To be honest: In my experience the automatic labelling works really well 
and satisfactory for 99% of the cases, BUT in case you want a certain 
"perfect" print out you need to manually adjust or suppress certain 
labels because creating a map is a design work and there are always 
cases where your notion of the result differs from what the algorithm 
provides (e.g. have that highway labeled although the label can only be 
placed on the bridge and river labels have a higher priority).

>
>> - points are vector features, too, so there is no real difference between labelling points, lines or polygons.
>
> Great.
>
>> - Be sure to have read the doc: http://docs.qgis.org/2.14/en/docs/user_manual/working_with_vector/vector_properties.html#labels-menu#
>
> Thanks for the link and help!
>
>
> Best,
>
> Jeshua Lacock
> Founder/Engineer
> <3DTOPO.com>
> GlassPrinted.com
>

regards
Bernhard


__________ Information from ESET Mail Security, version of virus signature database 15700 (20170706) __________

The message was checked by ESET Mail Security.
http://www.eset.com





More information about the Qgis-user mailing list