# Multiplying/dividing x/y values of line and polygon layer vertices?

I have several polygon and line layers in shapefile format with no crs so it can't be reprojected. The vertices coordinates need to be divided by 3,600,000 in order for them to match the project crs, EPSG:4326.

Is there a way to do this in field calculator or with a plugin?

Can it be converted to another file format and edited?

Here's an example of the current values.

• Even you have a shapefile however it does not mean that it placed correctly, am I right? One more interesting thing, how did you achieve that shapefile? Can you perhaps adjust coordinates before they rise in QGIS? Apr 24, 2020 at 6:02
• @Taras The file was provided as is from a company. I can't adjust the coordinates of the shapefile since I did not create it. Apr 24, 2020 at 17:11

Sure, you can multiply/divide all vertices from a vector layer. That's what Affine Transformations are good for.

Go to `Processing Toolbox` and execute the `Affine transform` algorithm, select your layer (you can run in as batch if you want) and set parameters `Scale factor (x-axis)` and `Scale factor (y-axis)` as `1/3600000` (yes, you can use the rational number in there :) ).

After doing this, you should assign the correct CRS (`Assign projection` algorithm) to your layer.

If you want to know more about affine transformations, have a look at this post: QGIS moving the layer/all features using Vector Affine Transformation and

I propose a workaround, not sure if there is an easier solution - it also depends on your data, you didn't state what crs your original data is in and why you can't simply reproject your shapefiles.

Go to menu vector - geometry tools - extract vertices. You get a points-layer with your vertices. Use the field calculator and define the value of two new fields (named x_coord and y_coord) like this: \$x/3600000 respetively \$y/3600000. You get new fields with the correct values. Export the layer as CSV (delimited text layer), than re-import the csv-file (menu layer - add layer - add delimited text-layer) and define the two fields generated above (x_coord and y_coord) as x-/y-coordinates. However, the points have to be converted to polygons again: use points to path (from the toolbox) and than from menu vector - geometry tools - lines to polygons.

• The data doesn't come with a crs so it can't be reprojected. I think this solution would give me a similar layer but the attributes will be lost. I need to maintain the attributes. I'll add the missing crs part to the original question. Apr 23, 2020 at 22:43
• You can make a join after you tried the solution proposed above to re-add your attributes Apr 24, 2020 at 8:29
• By the way: can you try to find out which was the original crs? Where is your data from? Where do you know from that you have to divide your coordiantes by 3600000 to get 4326-coordinates? So the values of your original coordinates as well as the region you are working in should give a hint to the original crs Apr 24, 2020 at 8:32
• I can't tell you where I got the data as it's proprietary and the data doesn't have a known crs. It's most likely an internal crs that they only use. The data provider gave the information about dividing the coordinates as a means to use the data within a known crs. Apr 24, 2020 at 17:06
• Maybe your case is similar to one of these: stackoverflow.com/a/14452758 or gis.stackexchange.com/q/256476/88814 Apr 24, 2020 at 20:32