from_centroids70 = "{}/from_centroids70.shp".format(junkpath) distance_centroids70 = "{}/distance_centroids70.shp".format(junkpath) from_centroids90 = "{}/from_centroids90.shp".format(junkpath) distance_centroids90 = "{}/distance_centroids90.shp".format(junkpath) t1 = "{}/_test1.shp".format(junkpath) t2 = "{}/_test2.shp".format(junkpath) out70 = "{}/lines_for_network_1870.shp".format(outpath) out90 = "{}/lines_for_network_1890.shp".format(outpath) outcent = "{}/county_centroids.shp".format(outpath) if not os.path.exists(junkpath): os.mkdir(junkpath) gp = GeoProcess() ########################################################################### ########################################################################### ########################################################################### ###################################################################### # reproject rivers, rail, and counties to WGS84 ###################################################################### print('reprojecting rivers, rail, and counties to WGS84') rail70wgs84 = gp.reproject_layer(rail70, 'EPSG:4326') rail90wgs84 = gp.reproject_layer(rail90, 'EPSG:4326') riverswgs84 = gp.reproject_layer(rivers, 'EPSG:4326') countieswgs84 = gp.reproject_layer(counties, 'EPSG:4326')
sys.path.append('C:/Users/se.4537/Dropbox/PoliteconGIS/LBS_2020/PhD/lecture_5') from geoprocess import GeoProcess # set paths to inputs and outputs mainpath = "C:/Users/se.4537/Dropbox/PoliteconGIS/LBS_2020/PhD/lecture_5\\gis_data" outpath = "{}/_output".format(mainpath) junkpath = "{}/junk".format(outpath) nw70 = "{}/lines_for_network_1870.shp".format(outpath) nw90 = "{}/lines_for_network_1890.shp".format(outpath) centroids = "{}/county_centroids.shp".format(outpath) out70 = "{}/_odmat_1870.csv".format(outpath) gp = GeoProcess() ########################################################################### ########################################################################### ########################################################################### print('computing origin-destination matrix, 1870') odmat70 = gp.odmat_nn(nw70, centroids, 'NHGISNAM', tolerance=10, criterion='speed', speed_field='speed', default_speed=6.966857)
# containing geoprocess.py to the sys.path; that is: import sys sys.path.append('/path/to/folder/containing/python_script') from geoprocess import GeoProcess # set paths to inputs and outputs mainpath = "C:/Users/se.4537/Dropbox/PoliteconGIS/LBS_2020/PhD/lecture_3/gis_data" wldsin = "{}/langa.shp".format(mainpath) outpath = "{}/_output/".format(mainpath) wldsout = "{}/wlds_cleaned.shp".format(outpath) if not os.path.exists(outpath): os.mkdir(outpath) 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
QgsApplication.setPrefixPath('C:/OSGeo4W64/apps/qgis', True) qgs = QgsApplication([], False) qgs.initQgis() # Add the path to Processing framework sys.path.append('C:/OSGeo4W64/apps/qgis/python/plugins') # Import and initialize Processing framework import processing from processing.core.Processing import Processing Processing.initialize() QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms()) ######################################################################################### ######################################################################################### from geoprocess import GeoProcess # set paths to inputs and outputs mainpath = "C:/Users/se.4537/Dropbox/PoliteconGIS/LBS_2020/PhD/lecture_3/gis_data" suitin = "{}/suit/suit/hdr.adf".format(mainpath) outpath = "{}/_output/".format(mainpath) suitout = "{}/landquality.tif".format(outpath) gp = GeoProcess() ################################################################## # define projection for raster without projection ################################################################## print('Defining projection for agricultural suitability to be WGS84') gp.define_projection_for_raster(suitin, "epsg:4326", suitout)
coastin = "{}/ne_10m_coastline/ne_10m_coastline.shp".format(mainpath) adminin = "{}/ne_10m_admin_0_countries/ne_10m_admin_0_countries.shp".format( mainpath) coastout = "{}/coast.shp".format(junkpath) centroidsout = "{}/centroids.shp".format(junkpath) distout = "{}/distance_countries.shp".format(junkpath) nearout = "{}/nearest_countries.shp".format(junkpath) csvout = "{}/centroids_closest_coast.csv".format(outpath) testout = "{}/test_countries.shp".format(junkpath) if not os.path.exists(junkpath): os.mkdir(junkpath) gp = GeoProcess() ######################################################################### ######################################################################### # 2) centroids and distance to coast ######################################################################### ######################################################################### ######################################################### # Fix geometries ######################################################### print('fixing geometries, coast') fixgeo_coast = gp.fix_geometry(coastin) ######################################################### # Fix geometries
QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms()) ######################################################################################### ######################################################################################### from geoprocess import GeoProcess # set paths to inputs and outputs mainpath = "C:/Users/se.4537/Dropbox/PoliteconGIS/LBS_2020/PhD/lecture_3/gis_data" outpath = "{}/_output/".format(mainpath) greg = "{}/greg_cleaned.shp".format(outpath) wlds = "{}/wlds_cleaned.shp".format(outpath) admin = "{}/ne_10m_admin_0_countries/ne_10m_admin_0_countries.shp".format( mainpath) outcsv = "{}/nlangs_country.csv".format(outpath) gp = GeoProcess() ######################################################### # Fix geometries ######################################################### print('fixing geometries, languages') fixgeo_wlds = gp.fix_geometry(wlds) ######################################################### # Fix geometries ######################################################### print('fixing geometries, countries') fixgeo_countries = gp.fix_geometry(admin) ######################################################### # Intersection
QgsApplication.processingRegistry().addProvider(QgsNativeAlgorithms()) ######################################################################################### ######################################################################################### from geoprocess import GeoProcess # set paths to inputs and outputs 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') ##################################################################
popd2000 = mainpath + "/HYDE/2000ad_pop/popd_2000AD.asc" countries = mainpath + "/ne_10m_admin_0_countries/ne_10m_admin_0_countries.shp" outcsv = "{}/country_level_zs.csv".format(outpath) 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) #########################################################
junkpath = "{}/junk".format(outpath) coastin = "{}/ne_10m_coastline/ne_10m_coastline.shp".format(mainpath) adminin = "{}/ne_10m_admin_0_countries/ne_10m_admin_0_countries.shp".format(mainpath) coastout = "{}/coast.shp".format(junkpath) centroidsout = "{}/centroids.shp".format(junkpath) distout = "{}/distance_counties.shp".format(junkpath) nearout = "{}/nearest_countries.shp".format(junkpath) csvout = "{}/centroids_closest_coast.csv".format(outpath) testout = "{}/test_countries.shp".format(junkpath) if not os.path.exists(junkpath): os.mkdir(junkpath) gp = GeoProcess() ######################################################################### ######################################################################### # 2) centroids and distance to coast ######################################################################### ######################################################################### ######################################################### # Fix geometries ######################################################### print('fixing geometries, countries') fixgeo_countries = gp.fix_geometry(adminin) ######################################################### # Centroids