The locations of buildings and trees can be represented, for many
purposes, by a single point, but unfortunately there is no common format for
distributing point data with standard metadata; only generic GIS formats
like SHP exist.
USGS printed topographical maps ("topo quads") contain a black square
symbol for every building (outside of urban areas). This is sometimes
(rarely) also digitized as a point feature in the corresponding
DLG file. However, for the most part, the USGS does not distribute the
building locations in any digital point format - only as printed maps or
DRG (scanned printed maps)
building locations can be extracted from the DRGs with
BExtractor
LIDAR
LIDAR collects massive amounts of point data, which is just 3D points,
i.e. "point clouds"
Sometimes, there is also an attribute, for example: 0 default 1 ground 2
buildings 3 vegetation.
The LAS binary format is a fairly standard way to encode these points.
LAStools is a
collection of utilities to read/write/convert/view LAS files, with source
code. There is also the free library
libLAS which was based on the LAStools.
There are also various proprietary formats, e.g. TerraSolid .BIN format.