Os arquivos de forma podem ter apenas um tipo de geometria, mas muitos outros formatos (kml, geojson) podem ter vários tipos.
Ao converter para shapefiles, é possível dizer ao ogr2ogr para criar vários shapefiles, um para cada tipo?
Parece que a opção "-where" pode ser útil, mas a página do manual não explica a sintaxe.
Por exemplo, aqui está um comando que falha:
$ wget http://a841-tfpweb.nyc.gov/jackson-heights/wp-content/themes/tfp/kml/transit.kml
$ ogr2ogr -f "ESRI Shapefile" transit.shp transit.kml
Warning 6: Normalized/laundered field name: 'Description' to 'Descriptio'
ERROR 1: Attempt to write non-linestring (POINT) geometry to ARC type shapefile.
ERROR 1: Terminating translation prematurely after failed
translation of layer Transit (use -skipfailures to skip errors)