《读史方舆纪要》最大的特点是经世致用。
作者顾祖禹生活在明末清初,曾亲眼目睹了明朝灭亡。顾祖禹的高祖和曾祖分别是明朝嘉靖、万历年间的进士,深受明朝恩典。所以,顾祖禹自小就怀揣着忠君报国的思想。明亡后,顾祖禹秉承亡父遗志,虽然清贫却仍坚持“反清复明”,并于康熙十三年(1674年)三藩起兵后只身投奔耿精忠。即使一切尘埃落定,顾祖禹却还未死心,为给后来者留下“民族光复之用”的工具,顾祖禹随即拿起笔来继续编写并完成了《读史方舆纪要》。
关于此书为何起名为《读史方舆纪要》,顾祖禹如是说:“地道静而有恒,故曰方;博而职载,故曰舆。是书以古今之方舆,衷之于史,即以古今之史,质之于方舆。史其方舆之乡导乎;方舆其史之图籍乎。苟无当于史,史之所载不尽合于方舆者,不敢滥登也。故曰《读史方舆纪要》。”
《读史方舆纪要》共130卷,约280万字。鉴于明朝统治者不会利用山川形势险要,未汲取古今用兵成败而惨遭亡国的教训,顾祖禹在书中着重论述了州域形势、山川险隘、关塞攻守,引证史事,推论成败得失。《读史方舆纪要》乃是经世致用的史地作品,与一般的史地作品有很大不同。顾祖禹的好友魏禧曾一针见血地指出:“其书言山川险易,古今用兵战守攻取之宜,兴亡成败得失之迹所可见,而景物游览之胜不录焉。”
大体来说,《读史方舆纪要》分为四部分:第一部分共九卷,主要是按照历史顺序,叙述历代的州域形势。
第二部分共114卷,分别以明朝两京(北直—直隶和南直—江南),十三省布政使司(山东、山西、河南、陕西、四川、湖广、江西、浙江、福建、广东、广西、云南、贵州)为叙述对象,分别叙述各京省所属的府、州、县的情况。但凡叙述每京或每省,当先一卷必定先讲清该京、省的地理位置,疆域沿革,所属府、州、县的名称、以及各个府、州、县境内的山川、河流、地形险要;然后再自第二卷开始介绍各个府州的情况。先表述清楚此府、州的地理位置、疆域沿革、所属县名;然后再一一介绍各县情况。至于各县都的介绍,主要是其境内的城镇、山川、关隘、桥梁。同时,顾祖禹还在书中对地名等做了详细的注解,使人读时趣味无穷。毋庸置疑,第二部分是《读史方舆纪要》的核心。

第三部分6卷,主要采录以往历史地理书中对山川、河流、漕河、海运的记载。
第四部分则是最少,仅有一卷,主要是采录历代关于各地星宿分野的说法。即:我国古代占星术认为,地上各周郡邦国和天上一定的区域相对应,在该天区发生的天象预兆着各对应地方的吉凶。例如,秦王李世民发动政变前,秦地出现了太白金星。
对于此书为何如此偏好记录地理环境与战争得失成败的关系?顾祖禹如是认为:地理是行军之本,地形对于兵家,有如人以食为天,行者需靠舟车一样。只有明晰地利,才可行军,若再加上“乡导”的帮助,则可无往而不胜。但是顾祖禹在强调了地理重要的同时,也强调了“在德不在险”!即:天险地利只是成败得失的从属条件,决定性的因素人和当时的社会大环境。
譬如:在论述历代都城时,顾祖禹认为是王朝立都之地是由许多因素决定的,地势并非决定一切。首先,都城的选择与当时的大环境有关,此时可以建都的地方,而到彼时则不一定适于建都,其次,是否适合建都不但要看地势是否险固,攻守是否有利,而且要看交通是否方便,生产是否发达,对敌斗争是否有利。
比如宋朝建都开封而不是关中长安,最大的一点就是考虑到关中土地难以生产足够的粮食,更多的是依赖外界的输送。对此可以想象隋朝为何修建大运河,隋文帝与隋炀帝为何频繁就食洛阳,李治和武则天为何常在洛阳。而且外界向关中输送粮食必须经过三门峡,但三门峡之地却因黄河河况不定常常发生船毁人亡的事故(虽然赵匡胤想接立都关中以求利用地理优势来控制天下以达到去冗兵的目的,却因涉及的许多实际问题而作罢!并发出一声长叹:“不出百年,天下民力惮矣!”)。
可以肯定地说,此书的确是一本纲目分明,论述清晰老道的亘古奇书。清末张之洞有言:“此书专为兵事而作,意不在地理考证。”梁启超也认为:“景范之书,实为极有别裁之军事地理”。

顾祖禹在《读史方舆纪要》中讨论了明朝的国防以及明都北京的防卫问题。顾祖禹先说历代王朝但凡立国都比较注重都城外围的军事设置,“汉都长安,则置朔方之郡,列障戍于河南。又开河西五郡,以绝羌与匈奴相通之路。唐人筑三受降城,则守在河北。又置安西、北庭都护,则西域尽为臣属,故关中可以无患。”
接着顾祖禹又说明朝如果想要保证北京城安稳就必须效法汉唐,拿下北京外围的关山险要之地,如开平(今多伦,如今天的内蒙古对北京的屏蔽)、大宁(今内蒙赤峰市宁城县,如今天燕山山脉对华北平原的屏护)、东胜(内蒙古托克托,控制阴山山脉以及河套囊括的巴彦淖尔、包头、呼和浩特)、辽阳(今东北平原与长白山区的临界点)。但是顾祖禹却认为明朝对此却视而不见,将国防政策布置得十分糟糕,竟然把外围险要的地区全部丢弃!“都燕京而弃大宁,弃开平,委东胜于榛芜,视辽左如秦越,是自剪其羽翼,而披其股肱也。欲求安全无患,其可得哉?”
当然,因为此书经世致用,《读史方舆纪要》不仅对历代历史地理记载的十分详细,对有关国计民生的问题也很重视。他认为:舆地之书不但要记载历代疆域的演变和政区的沿革,而且还要包括河渠、食货、屯田、马政、盐铁、职贡等历史自然地理和历史经济地理的内容。
当一开始撰写时,顾祖禹的确对此十分重视,但在顾祖禹死后100多年,此书才真正以活字体问世,其间由于各种原因,原稿多有散佚:加上当时顾祖禹自身多病,也顾不上补缀,故而不详细之处。可是,顾祖禹在论述各地的地理形势时,尽量做到以地理条件为印证,使历史成为地理的向导,地理成为历史的图籍,互相紧密融汇。全书对于有关国计民生的多写,无关的少写,详人之所略,略人之所详,这也是《读史方舆纪要》有别于其他地理著作之处。
例如黄河之患历来不止,直接对国计民生产生不良影响,因此,顾祖禹在书中记载了大量前人治水的主张,以留给后人借鉴。因为他十分赏识明朝潘季驯的“以堤束水,借水攻沙”的治河方针,所以在《读史方舆纪要》卷126里,顾祖禹对潘季驯的主张多有引证。

此外,书中对漕运的记载也十分重视。顾祖禹认为漕运相当重要,因为“天下大命,实系于此”。但他反对为了漕运而置运河沿线百姓生命财产于不顾的观点。在《川渎异同》中,他以整整一卷的篇幅,论述漕运和海运,又在有关州县下,详细记载运河的闸、坝、堤防和济运诸泉。此外,对于明代农业经济发展较快的苏松地区,以及扬州、淮安等转漕城镇冲要地位,书中都一一作了记载。同时,《读史方舆纪要》于农田水利的兴废、交通路线的变迁、城邑镇市的盛衰,都详略得当地有所记载。由此可见,《读史方舆纪要》不仅对于军事地理、沿革地理方面有着十分重要的记述,而且在经济地理方面亦有相当可观的内容。
如此庞大规模的构思,无疑让顾祖禹耗费了巨大的心血。同时,全书仅为顾祖禹一人独撰,难免有疏漏、谬误之处!为了编撰这本巨型历史地理著作,顾祖禹先后查阅了二十一史和100多种地志,且十分注重实地考察。可以说,每凡顾祖禹外出,他都必然会观览城廓,对山川、道里、关津细细察看。若外出时遇到过往各地百姓,顾祖禹便驻足与其谈论,以求对书中地理状况的异同进行考证。但无论他所做的实地考察如何详细,困于当时交通条件和政治因素,顾祖禹都只能“偶有涉猎”而已。实际上,他写书的主要材料来源还是来源于对图书资料的探索。所以,尽管全书考证严谨、论证可靠,但顾祖禹本人却不满意,尤其抱憾于自己难以在实地考察中获得第一手资料。
最后,《读史方舆纪要》由于内容丰富、地名齐全、考订精详、结构严密,不但完胜唐时《元和郡县图志》、宋时《太平寰宇记》、明时《寰宇通志》和《大明一统志》,即使与清代的历史地理巨著、官修的《大清一统志》相比也毫不逊色。