Are you working with custom data in a PostGIS database? This workflow will show you methods for getting your data ready for Mapbox Studio. We will cover two methods:
Exporting your data with QGIS — connect QGIS to your PostGIS database and save selected tables as Shapefiles.
Querying and exporting your data with ogr2ogr — query your database and create GeoJSON files.
This guide will use QGIS a free, open source geographic information system. Download and install QGIS and let’s get started.
Export PostGIS data with QGIS
First, you will use QGIS to connect to your database to export your data.
Connect to PostGIS
Launch QGIS and select Layer > Add PostGIS Layers from the toolbar.
After the Add PostGIS Table(s) dialog pops up, click the New button to establish your database connection.
a name for this connection
the host name (default is localhost)
port (default is 5432)
your PostGIS database name
and the username for the database
Click the Test Connection button to make sure you are synced up, then click OK.
Back in the Add PostGIS Table(s) dialog box, click the Connect button to connect to your local database.
You should see a label appear in the Schema column, for this example we see public. Click the arrow next to the label to expand the nested table values. Next, click to select the tables you want to show in your project.
When you’re finished click Add (located on the bottom left).
You should now be able to see your data visualized in QGIS.
Save as Shapefile
Next, you will export your data as a Shapefile, a file format compatible with Mapbox Studio. Make sure your Layers panel is visible in QGIS by checking Layers under the View > Panels tab.
From the Layers panel, right-click on your data layer and then click Save As...
This will open the Save vector layer as… panel. Make sure the Format is set to ESRI Shapefile. Next, click the Browse button to move into the folder where you wish to save your file locally and click OK.
In QGIS, a light blue bar will quickly flash to indicate that your save is completed. You can now navigate to that folder on your local machine to retrieve your data.
Zip the Shapefiles
Navigate to the folder with your saved Shapefiles (.shp). Right-click on the folder containing all the files that are part of your Shapefile and Compress or zip this entire folder.
To upload Shapefiles to Mapbox Studio they must be zipped and cannot be larger than 270MB.
Query and export PostGIS data with ogr2ogr
If prefer using the command line instead of QGIS, you can use GDAL’s ogr2ogr utility to convert your data format. Using ogr2ogr and some SQL, you can also query from your database.
Decide what data you wish to display on your map. In this example, the PostGIS database is loaded with Natural Earth data. With the command psql -d natural_earth, I’ve entered my database and with \dt I can view the tables contained within my database.
psql -d natural_earth \\dt;
For this example, I’m going to query all the columns in the ne_10m_minor_islands and ne_10m_minor_islands_coastline tables. I can look at all the columns available while in my database with \d+ <tablename>.
Reformat and query
With one command I’ll be converting the data to the GeoJSON format, re-projecting from EPSG:3857 to EPSG:4326, saving the new GeoJSON file as minor_islands.json and minor_islands_coastline.json respectively, and querying specific tables with SQL.