2

I am new to GIS (and QGIS which is what I was intending to use) and I had a general question that will help me decide whether I can even go about this task with these tools:

I am working with some visualizations in ParaView and the coordinates of all my data are in cartesian coordinates in feet with the bottom left corner of the map taking the coordinates x = 0, y = 0. In this example I have a 1000x1000 ft set of data (note the coordinates at two marked locations): Data domain with coordinates

This data has a real world location, and I can grab coordinates from various features. I would like to import some reference maps (aerial photography, shapefiles of city boundaries etc.), and these either have different or no geo-referencing. E.g. I know that the data shown above corresponds to the area below:

enter image description here

Is it possible with with QGIS to take that map and assign a number of reference points so that the map corners has coordinates (0, 0), (0, 1000), (1000, 1000), and (1000, 0) going clockwise from the bottom left? If I can get that working then I should be able to import it to my visualization software so that aligns with the model data like this (quick photoshop just for example): enter image description here

For now there are no rotation to my data, so changes in X will be East/West, and changes in Y will be North/South. The areas of interest are generally fairly small so I don't think I would need to worry about the curvature of the earth or anything like that.

However, in most cases the maps I have will be smaller than the data domain (so I can't just cut out a map that exactly fits my domain).

5
  • 2
    @Keggering titles are sentences; they do not need caps case
    – Vince
    Jun 14 at 17:48
  • @Vince, thanks for the heads-up. I must have mixed up proper-nouns for all-title-words at some point.
    – Keggering
    Jun 14 at 18:06
  • 2
    The answer probably is yes - but your informationis too vague to give a conclusive answer. Yes, you can add data in QGIS with different coordiante systems (CRS) and yes, you can create cartesian coordiantes in meters. However, what exactly you want to do remains unclear. So you should provide more information - best add an image of how the result should look like.
    – Babel
    Jun 14 at 19:24
  • 1
    @Vince I agree with your comment on case usage in titles but I think that titles should be terser than full sentences.
    – PolyGeo
    Jun 14 at 20:27
  • Thanks! @Babel I'm adding some illustrations now. Jun 14 at 20:45
1

You can use QGIS expressions to calculate for every point inside the rectangle it's coordinate on the basis of the minimum and maximum extent of 0 and 100, respectively for x- and y-coordinates. Use the difference between x_max and x_min (the extent of the rectangel), define this as a length of 1000. Then get the distance of each point in x-direction from x_min as a fraction of the whole extent (1000).

Let's suppose you have a layer with a rectangle called grid, than you can get the coordinate (from 0 to 1000) inside this grid with the following formula using QGIS expressions - for y-coordinates, just replace x, x_min and x_max with y respectively. The rectanlge of the grid should have the feature-id 1, otherwise change this number at the end of line 1:

(x ($geometry) - x_min( geometry(get_feature_by_id('grid',1))))
/
((x_max( geometry(get_feature_by_id('grid',1)))- 
x_min( geometry(get_feature_by_id('grid',1))))
/1000
)

Screenshot: rectangle with points in it that are labeled with the formula from above + a round-function to get only integer values: enter image description here

1
  • Thanks @Babel, I will work my way through a few tutorials to get a better understanding of QGIS and will then try out this method when I can be sure I'm doing it right! I'll be sure to respond and mark the answer if everything works as planned. Jun 16 at 5:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.