Desgraciadamente, JSON es, al igual que XML, muy poco adecuado para el procesamiento en flujo, por lo que casi todas las implementaciones requieren que todo el conjunto de datos se cargue en memoria. Aunque esto está bien para conjuntos pequeños, en tu caso no hay otra opción que dividir el conjunto de datos en trozos más pequeños y manejables.
Mejorando la solución de Pablo, he aquí una que no requiere abrir y cargar el archivo en un editor y dividirlo a mano, sino que intenta automatizar todo el proceso en la medida de lo posible.
Copie el archivo json en un host Unix (linux, osx) o instale las herramientas cygwin en Windows. A continuación, abra un intérprete de comandos y utilice vim para eliminar la primera y la última fila del archivo:
$ vim places.json
tipo dd para eliminar la primera línea y, a continuación SHIFT-G para desplazar el final del archivo, escriba dd de nuevo para eliminar la última línea. Ahora escriba :wq para guardar los cambios. Esto debería llevar sólo un par de minutos como máximo.
Ahora aprovecharemos toda la potencia de unix para dividir el archivo en trozos más manejables. En el shell escribe:
$ split -l 10000 places.json places-chunks-
Ve a tomar una cerveza. Esto dividirá el archivo en muchos archivos más pequeños, cada uno con 10000 líneas. Puede aumentar el número de líneas, siempre que lo mantenga lo suficientemente pequeño como para que ogr2gr puede gestionarlo.
Ahora vamos a pegar la cabeza y la cola a cada uno de los archivos:
$ echo '{"type":"FeatureCollection","features":[' > head
$ echo ']}' > tail
$ for f in places-chunks-* ; do cat head $f tail > $f.json && rm -f $f ; done
Ve a coger un snak. Los dos primeros comandos simplemente crean un archivo de encabezado y pie de página con el contenido correcto (sólo por conveniencia en realidad), mientras que el último añadirá encabezado y pie de página a cada uno de los trozos que dividimos anteriormente y eliminará el trozo sin encabezado/pie de página (para ahorrar espacio).
En este punto, es de esperar que pueda procesar los muchos lugares-chunks-*.json archivos con ogr2ogr:
$ for f in places-chunks-*.json ; do ogr2ogr -your-options-here $f ; done