-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Labels: Data defined position from geometry column #11840
Comments
Author Name: Giovanni Manghi (@gioman)
|
Author Name: Giovanni Manghi (@gioman)
|
Author Name: Pirmin Kalberer (Pirmin Kalberer)
|
Author Name: Giovanni Manghi (@gioman)
|
Author Name: Regis Haubourg (@haubourg) A QEP is opened for a related requirement here [[https://github.com/qgis/QGIS-Enhancement-Proposals/issues/46]] QGIS 3 API is currently gaining the ability to handle multiple geometries, so we can consider we are getting closer
CREATE TABLE region ( gid serial NOT NULL, geometry geometry, -- SELECT [[AddGeometryColumn]]('public','region','geometry',26910,'POLYGON',2); label geometry, -- SELECT [[AddGeometryColumn]]('public','region','label',26910,'POINT',2); ... ); Here, there are two geometry columns: a polygon for the shape in the map, and a point to specify and store the label location. The present versions (1.0.1 to 1.2.0 unstable) support X/Y coordinates from two numeric columns. (This is found in Layer Properties > Labels > Data defined position). The enchantment requested in this ticket is to add another pull-down for a data defined position, which would be a geometry column. This seems more natural than defining two numeric columns for X and Y coordinates. I suggest first keeping it simple, supporting only POINT geometries. However, I can also envision enabling MULTIPOINT (for multiple places of the same label), and perhapps [MULTI]LINESTRING for text along a path (creeks, rivers) if the text fits the length. Furthermore, the centroid can easily be extracted from all other geometry types ([MULTI]POLYGONs, COLLECTIONs, etc.) to represent the coordinate for the label (i.e., this is the "else"/"default" case for other geometry types). to I would like to use a geometry (POINT) attribute to position label, using the example postgres schema: CREATE TABLE region ( gid serial NOT NULL, geometry geometry, -- SELECT [[AddGeometryColumn]]('public','region','geometry',26910,'POLYGON',2); label geometry, -- SELECT [[AddGeometryColumn]]('public','region','label',26910,'POINT',2); ... ); Here, there are two geometry columns: a polygon for the shape in the map, and a point to specify and store the label location. The present versions (1.0.1 to 1.2.0 unstable) support X/Y coordinates from two numeric columns. (This is found in Layer Properties > Labels > Data defined position). The enchantment requested in this ticket is to add another pull-down for a data defined position, which would be a geometry column. This seems more natural than defining two numeric columns for X and Y coordinates. I suggest first keeping it simple, supporting only POINT geometries. However, I can also envision enabling MULTIPOINT (for multiple places of the same label), and perhapps [MULTI]LINESTRING for text along a path (creeks, rivers) if the text fits the length. Furthermore, the centroid can easily be extracted from all other geometry types ([MULTI]POLYGONs, COLLECTIONs, etc.) to represent the coordinate for the label (i.e., this is the "else"/"default" case for other geometry types).
|
Author Name: Alessandro Sarretta (@alesarrett) It seems to me that the way the new QGIS 3.0 handles labels already covers this issue. |
Author Name: Regis Haubourg (@haubourg) Alessandro Sarretta wrote:
I think we can close that yes. QGIS 3 still uses XY data defined columns however, but it is almost transparent to users with the auxiliary data storage. Anyway we still have opened QEP in that area to be able to use a "path" for custom labeling. That would mean being able to move a label and have a custom geometry to be able to draw curved labels anywhere for instance
|
Author Name: Mike Taves (Mike Taves)
Original Redmine Issue: 1780
Redmine category:map_canvas
Assignee: nobody -
I would like to use a geometry (POINT) attribute to position label, using the example postgres schema:
Here, there are two geometry columns: a polygon for the shape in the map, and a point to specify and store the label location.
The present versions (1.0.1 to 1.2.0 unstable) support X/Y coordinates from two numeric columns. (This is found in Layer Properties > Labels > Data defined position).
The enchantment requested in this ticket is to add another pull-down for a data defined position, which would be a geometry column. This seems more natural than defining two numeric columns for X and Y coordinates.
I suggest first keeping it simple, supporting only POINT geometries. However, I can also envision enabling MULTIPOINT (for multiple places of the same label), and perhapps [MULTI]LINESTRING for text along a path (creeks, rivers) if the text fits the length. Furthermore, the centroid can easily be extracted from all other geometry types ([MULTI]POLYGONs, COLLECTIONs, etc.) to represent the coordinate for the label (i.e., this is the "else"/"default" case for other geometry types).
The text was updated successfully, but these errors were encountered: