Insert statements

One way to add data to the database is to use SQL INSERT statements. These will generate rows of data within the database tables created in the last section. Using the pyshp module, we can read a shapefile and add the data it contains to an INSERT statement template. This statement is then executed by the cursor:

from pymapd import connect
import shapefile
connection = connect(user="mapd", password= "{password}",
host="{my.host.com}", dbname="mapd")
import shapefile
import pygeoif
cursor = connection.cursor()
insert = """INSERT INTO county
VALUES ({cid},'{name}','12','FL','{geom}');
"""
countyfile = r'FloridaCounties.shp'
county_shapefile = shapefile.Reader(countyfile)
county_shapes = county_shapefile.shapes()
county_records = county_shapefile.records()
for count, record in enumerate(county_records):
name = record[3]
county_geo = county_shapes[count]
gshape = pygeoif.Polygon(pygeoif.geometry.as_shape(county_geo))
geom = gshape.wkt
insert_statement = insert.format(name=name, geom=geom,cid=count+1)
cursor.execute(insert_statement)

This process can be time-consuming, so there are a few other ways to add data to the database.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset