The short answer to your question is:
topojson \
-o world-110m.json \
-- \
land=ne_110m_land.shp \
states=ne_110m_admin_1_states_provinces.shp
This will produce a topology with "land" and "states" objects. You can omit the land=
and states=
if you'd prefer the objects to have the file names instead.
However, a couple gotchas to be aware of:
The Natural Earth 1:110M dataset for only includes the United States in the Admin 1 — States, Provinces download. The 1:50M resolution download adds Canada to this set, and the highest-resolution 1:10M download includes the entire world. So, if you want to make a world map, you’ll currently need the 1:10M dataset, which you can then simplify as desired. (Though the automatic simplification provided by topojson
won’t be as good as the hand-tweaked simplification done by Kelso et al. at Natural Earth.)
Only the 1:10M Natural Earth dataset is currently topologically-consistent. This means that there will be some cases where the borders won’t match up exactly between adjacent features in the 1:50M and 1:110M datasets. In practice, this usually isn’t a big problem, but it can prevent some topological algorithms from working perfectly, such as simplification and map coloring. So again, you may need to start with the 1:10M dataset and simplify.
Use additional options to topojson
to customize the generated TopoJSON file, such as including properties, increasing the quantization factor to improve accuracy, and enable simplification. There are many examples of converting Natural Earth data to TopoJSON in the world-atlas repository. See the Makefile for details if you want to customize how the TopoJSON is generated (e.g., combine different files, modify properties, change simplification thresholds). And lastly see the topojson
command-line reference for an overview of all the available options.