########################## 3.2 Introduction to OGR ########################## # Get some drivers. from osgeo import ogr # This works (note that it's not case sensitive). driver = ogr.GetDriverByName('geojson') print(driver) # This does not work because the real name is 'Esri shapefile'. driver = ogr.GetDriverByName('shapefile') print(driver) import ospybook as pb pb.print_drivers() ########################### 3.3 Reading vector data ######################### #################### 3.3.1 Accessing specific features ###################### # Open the data source for the examples. fn = os.path.join(data_dir, 'global', 'ne_50m_populated_places.shp') ds = ogr.Open(fn, 0) if ds is None: sys.exit('Could not open {0}.'.format(fn)) lyr = ds.GetLayer(0) # Get the total number of features and the last one.
# Get the GeoJSON driver. driver = ogr.GetDriverByName('GeoJSON') print(driver) # It's not case sensitive, so this also works. driver = ogr.GetDriverByName('geojson') print(driver) # This does not work because the real name is 'Esri shapefile'. driver = ogr.GetDriverByName('shapefile') print(driver) # Print out a list of drivers. import ospybook as pb pb.print_drivers() ########################### 3.3 Reading vector data ######################### #################### 3.3.1 Accessing specific features ###################### # Open the data source for the examples. fn = os.path.join(data_dir, 'global', 'ne_50m_populated_places.shp') ds = ogr.Open(fn, 0) if ds is None: sys.exit('Could not open {0}.'.format(fn)) lyr = ds.GetLayer(0) # Get the total number of features and the last one. num_features = lyr.GetFeatureCount() last_feature = lyr.GetFeature(num_features - 1)