What is GIS?¶
A geographic information system (GIS) captures, manages, analyzes, and presents spatial data. Common applications include logistics, urban planning, resource management, and telecommunications.
Geospatial data¶
Geospatial data combines attributes with a location or shape.
Vector data¶
Point: locationLineString: road or routePolygon: area or boundaryMulti-geometries and
GeometryCollection: groups of geometries
Raster data¶
A raster is a grid of cells, used for imagery, elevation, and other continuous data.
Coordinate reference systems¶
A coordinate reference system (CRS) relates coordinates to places on Earth.
EPSG:4326: longitude and latitudeProjected CRS: useful for measuring distance and area
set_crs(): assigns a CRS;to_crs(): transforms coordinates
OpenStreetMap¶
Node: a point
Way: an ordered list of nodes
Relation: a group of nodes, ways, or relations
Software¶
Desktop: QGIS, ArcGIS Pro
Python: GeoPandas, Shapely, Rasterio
Conversion and processing: GDAL
Databases: PostGIS, Oracle Spatial, ArcGIS enterprise geodatabase
Storage formats¶
| Format | Data | Typical use |
|---|---|---|
GeoPackage (.gpkg) | Vector, tiled raster | Portable general-purpose storage |
GeoJSON (.geojson) | Vector | Web and data exchange |
GeoParquet (.parquet) | Vector | Columnar analytics |
Shapefile (.shp and companion files) | Vector | Legacy interoperability |
GeoTIFF / COG (.tif) | Raster | Imagery and elevation |
| PostGIS | Vector, raster | Large or shared datasets |
CSV files may store geometries as WKT, but usually lack standardized spatial metadata.
Minimal GeoPandas example¶
import geopandas as gpd
gdf = gpd.read_file("data.gpkg")
print(gdf.crs)
print(gdf.geometry.geom_type.value_counts())