# county centroids
######################################################################
print('finding county centroids')
centroids = gp.centroids(countieswgs84)

######################################################################
# adding indicators and dropping unnecessary fields
######################################################################
print('adding indicators')
rail70wgs84 = gp.add_constant_field(rail70wgs84, 'rail', 1)
rail90wgs84 = gp.add_constant_field(rail90wgs84, 'rail', 1)
riverswgs84 = gp.add_constant_field(riverswgs84, 'river', 1)
centroids = gp.add_constant_field(centroids, 'centroids', 1)

print('dropping unnecessary fields')
rail70wgs84 = gp.drop_fields(rail70wgs84, keep_fields=['rail'])
rail90wgs84 = gp.drop_fields(rail90wgs84, keep_fields=['rail'])
riverswgs84 = gp.drop_fields(riverswgs84, keep_fields=['river'])
centroids = gp.drop_fields(centroids, keep_fields=['centroids'])

######################################################################
# splitting with lines, snapping and unioning rivers and rail
######################################################################
print('splitting with lines, snapping and unioning rivers and rail')
rail70_split_rivers = gp.split_with_lines(rail70wgs84, riverswgs84)
rail90_split_rivers = gp.split_with_lines(rail90wgs84, riverswgs84)
rivers_split_rail70 = gp.split_with_lines(riverswgs84, rail70wgs84)
rivers_split_rail90 = gp.split_with_lines(riverswgs84, rail90wgs84)

rail70_snap_rivers = gp.snap_geometries(rail70_split_rivers, rivers_split_rail70, 0.01)
rail90_snap_rivers = gp.snap_geometries(rail90_split_rivers, rivers_split_rail90, 0.01)
Example #2
0
gp = GeoProcess()

#########################################################
# Fix geometries
#########################################################
print('fixing geometries')
fix_geo = gp.fix_geometry(wldsin)

#########################################################
# Add autoincremental field
#########################################################
print('adding autoincremental id-field')
autoinc_id = gp.add_autoincremental_id(fix_geo, 'GID')

#########################################################
# Copy attribute
#########################################################
print('copying language name into a field with shorter attribute name')
language_name_copied = gp.copy_attribute(autoinc_id, 'NAME_PROP', 'lnm')

#########################################################
# Drop field(s)
#########################################################
print('dropping fields except GID, ID, lnm')
keepfields = ['GID', 'ID', 'lnm']
gp.drop_fields(language_name_copied,
               keep_fields=keepfields,
               output_object=wldsout)

print('DONE!')
Example #3
0
mainpath = "C:/Users/se.4537/Dropbox/PoliteconGIS/LBS_2020/PhD/lecture_3/gis_data"
admin_in = "{}/ne_10m_admin_0_countries/ne_10m_admin_0_countries.shp".format(
    mainpath)
areas_out = "{}/_output/country_areas.csv".format(mainpath)

# defining world cylindrical equal area SR
crs_wcea = QgsCoordinateReferenceSystem('ESRI:54034')

gp = GeoProcess()

##################################################################
# Drop field(s)
##################################################################
print('dropping unnecessary fields')
keepfields = ['ne_10m_adm', 'ADMIN', 'ISO_A3']
countries_drop_fields = gp.drop_fields(admin_in, keep_fields=keepfields)

##################################################################
# Reproject layer
##################################################################
print('projecting to world cylindical equal area')
countries_reprojected = gp.reproject_layer(countries_drop_fields, 'ESRI:54034')

##################################################################
# Fix geometries
##################################################################
print('fixing geometries')
countries_fix_geo = gp.fix_geometry(countries_reprojected)

##################################################################
# Field calculator, output to csv
Example #4
0
#########################################################
print('finding country centroids')
country_centroids = gp.centroids(fixgeo_countries)

#########################################################
# Add geometry attributes
#########################################################
print('adding co-ordinates to centroids')
centroids_with_coordinates = gp.add_xycoordinates(country_centroids)

#########################################################
# Drop fields
#########################################################
print('dropping unnecessary fields, coast')
keepfields = ['featurecla']
gp.drop_fields(fixgeo_coast, keep_fields=keepfields, output_object=coastout)

##################################################################
# Drop field(s)
##################################################################
print('dropping unnecessary fields, centroids')
keepfields = ['ne_10m_adm', 'ADMIN', 'ISO_A3', 'xcoord', 'ycoord']
gp.drop_fields(centroids_with_coordinates,
               keep_fields=keepfields,
               output_object=centroidsout)

##################################################################
# v.distance
##################################################################
print('vector distance: country centroids to coast')
gp.grass_v_distance(centroidsout,
Example #5
0
RASTS = [elevation, temp, prec, landqual, popd1500, popd1990, popd2000]
PREFS = ['elev_', 'temp_', 'prec_', 'lqua_', 'pd15_', 'pd19_', 'pd20_']

# elevation, temperature, precipitation are very large raster files,
# take a long time to process. we will see faster processing methods at the end. 
# the code will still run (if you are patient)!
# for now, do only the last four rasters
RASTS = RASTS[3:]
PREFS = PREFS[3:]

gp = GeoProcess()

#########################################################
# Fix geometries
#########################################################
print('fixing geometries')
fix_geo = gp.fix_geometry(countries)   

#########################################################
# Drop fields
#########################################################
print('dropping fields except ADMIN, ISO_A3')
keepfields = ['ADMIN', 'ISO_A3']
drop_fields = gp.drop_fields(fix_geo, keep_fields=keepfields)

#########################################################
# Zonal statistics
#########################################################               
gp.zonal_statistics_as_csv(drop_fields, RASTS, PREFS, ['mean'], outcsv)

print('DONE!')