[GIS] Create an attribute table with coordinates vertices in QGIS

attribute-tableprint-composerqgis

I need to create, in a map layout, an Attribute Table item containing the Map Sheet vertices values in different coordinate reference systems, controlled by the atlas (Coverage Layer = Map sheet), as shown in the images.
Any advice to solve this problem?
enter image description here
enter image description here
enter image description here

I tried using vector-> geometry tools-> add geometry attributes but only area and perimeter values were added to the table, so I am considering using the vector-> geometry tools-> extract vertices first and then using the add geometry tool. I do not know if this is the right way to do this and I do not know how to get/add the converted coordinates (UTM and/or geographic) for all map sheets (the red rectangles) according to the other CRS.

Best Answer

Extract the vertices of your grid to a point layer with the extract vertices tool.

Remove duplicate points with the Delete duplicate geometries tool.

Use the Field Calculator and Expression Builder to add the desired coordinates to the point layer as attributes.

To get the X and Y coordinates in the same CRS as the layer, use the expressions: $x and $y.

To get the X coordinate of in ED50 / UTM 32 (EPSG:23032), use this expression: x(transform($geometry, 'EPSG:4326', 'EPSG:23032'))

I assumed the point layer is in WGS84. If not, change 'EPSG:4326' to the CRS of the layer.

Repeat for X and Y coordinates of all desired CRS's.

Add an attribute table for the point layer to your print layout. In item properties for the attribute table item, select "show only features intersecting atlas feature."

Format and arrange the attribute table to your specifications. To get it to exactly match the example, you may need to add multiple attribute tables, and incorporate other print layout items such as shapes and text boxes.

Related Question