Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
podcast
Filter by Categories
ArcGIS Pro
GDAL
GeoJson
Map
Python
QGIS
Uncategorized

Creating points in QGIS

6 ways to create points at Specific Coordinates in QGIS

Working with QGIS? You should listen to our podcast!

Here’s how to manually create a point in QGIS at a given location:

  1. Open QGIS: Launch the application and open your project.
  2. Select Layer: Ensure you have an active point layer, or create a new one by going to Layer > Create Layer > New Shapefile Layer and choosing ‘Point’ as the geometry type.
  3. Toggle Editing: Right-click on the point layer in the ‘Layers’ panel and select ‘Toggle Editing’.
  4. Add Point Tool: Click on the ‘Add Point Feature’ tool in the ‘Digitizing Toolbar’.
  5. Input Coordinates: Click on the map canvas where you want to place the point. You can also input exact coordinates by using the ‘Advanced Digitizing Panel’ if you need precise placement. If the panel isn’t visible, enable it from View > Panels > Advanced Digitizing Panel.
  6. Save Edits: After placing the point, save your edits by clicking on the ‘Save Edits’ button in the toolbar.
  7. Stop Editing: Click on ‘Toggle Editing’ again to stop the editing mode.

This method allows you to place points accurately within your QGIS project.

To import points and polygons into QGIS using the paste method, follow these steps:

  1. Prepare Your Text: Ensure your data is in WKT format or a list of coordinates prepared as text.
  2. Copy the Text: Highlight the lines of text that represent your geometrical data and copy them (Ctrl+C).
  3. Open QGIS: Launch your QGIS application and open the project where you want to import the data.
  4. Paste Features: In the QGIS menu bar, go to Edit > Paste Features As… > New Vector Layer.
  5. Set Coordinate System: Make sure to select the correct coordinate system that matches the data you are pasting.
  6. Create the Layer: Follow the prompts to create the new vector layer, which will now contain the pasted features.

Here are examples of WKT (Well-Known Text) representations for points, lines, and polygons

  • Point:
    POINT (30 10)
    This represents a point located at 30 on the x-axis (longitude) and 10 on the y-axis (latitude).
  • LineString:
    LINESTRING (30 10, 10 30, 40 40)
    This describes a line that starts at the point (30,10), goes through (10,30), and ends at (40,40).
  • Polygon:
    POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))
    This denotes a polygon with vertices at the points (30,10), (40,40), (20,40), (10,20), and back to (30,10) to close the polygon.

These WKT examples can be copied as text and pasted into QGIS following the provided instructions to create new vector layers with these geometrical shapes.

Import a CSV file containing coordinates into QGIS:

  1. Prepare Your CSV File: Ensure your CSV file has columns clearly labeled for latitude and longitude (or X, Y coordinates), and any other data you wish to include.
  2. Open QGIS: Start your QGIS application.
  3. Import the CSV File: Go to Layer > Add Layer > Add Delimited Text Layer. This opens the Data Source Manager window.
  4. Browse for Your CSV File: Click on the ‘…’ button to locate and select your CSV file.
  5. Configure Layer Settings: Ensure the file format is set to CSV, and specify the columns that contain the coordinates (e.g., X field for longitude and Y field for latitude).
  6. Set the Coordinate System: Choose the appropriate coordinate reference system (CRS) for your data.
  7. Add Layer: Click ‘Add’ to import the CSV as a new layer. If everything is configured correctly, your points will display on the map.
  8. Save Layer: Optionally, right-click on the layer in the Layers panel, select Export, and choose Save Features As to save the layer in a GIS format like SHP or GeoJSON.

This method will plot your CSV data as points on your QGIS project.

Script the creation of points directly into a data layer using the Python Console in QGIS:

  1. Open QGIS: Start your QGIS application.
  2. Open the Python Console: Go to Plugins > Python Console to open the Python Console window.
  3. Select the Data Layer: Make sure the layer where you want to add points is selected in the Layers panel.
  4. Access the Layer’s Data Provider: In the Python Console, you can access the data provider of the selected layer using the following code:
   layer = iface.activeLayer()
   provider = layer.dataProvider()
  1. Create New Features: Use the data provider to create new features (points) in the layer. You can define the coordinates for the new points and add them to the layer. For example:
   # Define the coordinates for the new point
   x = 30
   y = 10

   # Create a new feature
   feat = QgsFeature()
   feat.setGeometry(QgsGeometry.fromPointXY(QgsPointXY(x, y)))

   # Add the feature to the layer
   provider.addFeatures([feat])
  1. Update the Layer: Commit the changes to the layer by calling commitChanges() on the data provider:
   provider.commitChanges()
  1. Close the Python Console: Once you have finished adding points, you can close the Python Console window.

This method allows you to programmatically create points directly within your QGIS project using the Python Console.

Using the “Geometry by Expression” tool in QGIS to create a new layer of point features based on coordinate expressions or formulas:

  1. Open QGIS: Start your QGIS application and open your project.
  2. Open the Tool: Go to Processing > Toolbox. In the search box at the top, type “Geometry by Expression” and select the tool when it appears.
  3. Configure the Tool:
  • Input Layer: Select the input layer from which you want to create new geometries, or choose ‘Create Temporary Layer’ if starting from scratch.
  • Output Geometry Type: Choose ‘Point’ if you are creating point geometries.
  • Geometry Expression: Enter the expression for generating the new geometries. For example, you can use make_point($x + 10, $y + 10) to create points offset by 10 units in both x and y directions from existing points. For create point a Specific Coordinates you could use this Expression: make_point(100, 200) which creates a point at the coordinates (100, 200).
  1. Execute: Click ‘Run’ to execute the tool. This will generate a new layer with the point geometries created based on your expression.
  2. Check and Save: Once the process is complete, check the newly created layer to ensure it meets your expectations. Save the layer to your project or export it as a new file if necessary.

This tool allows for dynamic and powerful manipulation of geometric data in QGIS, making it possible to automate the creation of complex spatial features.

About the Author
I'm Daniel O'Donohue, the voice and creator behind The MapScaping Podcast ( A podcast for the geospatial community ). With a professional background as a geospatial specialist, I've spent years harnessing the power of spatial to unravel the complexities of our world, one layer at a time.