Fundamentals

What the objects, files and libraries actually are.

A file on disk, a GeoDataFrame in memory and a map, with what each step needs that the file does not carry. three steps, and three things the file does not tell youparcels.gpkgon diska driver has to existGeoDataFramein memorya CRS has to be seta mapon a pagea projection is a choiceNone of the three is in the file — which is why so much of this section is about deciding, not doing

Everything in this section is about what you are actually holding. A spatial file is a container with rules about what it can store; a GeoDataFrame is a pandas table with a geometry column and a coordinate reference system; and underneath both sits a stack of C libraries — GDAL, GEOS, PROJ — that the Python packages are thin wrappers over.

That last fact explains most of the difficulty. The libraries have to agree with each other, which is why installation is a real topic rather than a footnote, and why a container behaves differently from a laptop. Above that layer, the recurring theme is that the important properties of a dataset are not in the file: the CRS may be absent, the encoding is usually guessed, and the choice of projection for a map is always yours.

Four topics: getting a working environment and a first analysis, reading and writing the formats, getting the data in the first place, and turning addresses into coordinates.

Other areas