地理信息系统的二次开发是以现有地理信息系统软件提供的软件开发包(如地理信息系统控件)或VBA和应用编程接口的方式定制和开发地理信息系统功能。
例如,ArcGIS桌面版可以由VBA开发,例如,可以进行缓冲区分析。您可以在ArcMap的VBA中编写代码,并通过ArcObjects对象对其进行操作。或者通过ArcGIS Destop的SDK进行开发,编写并实现ICommand和ITool类,最后将这些功能添加到ArcMap中。
再比如,利用谷歌地图的API进行地图定制,地图查询定位也是二次开发。或者使用ArcGIS Server的Javascript API进行开发。
目前GIS软件二次开发的控件很多,如SuperMap公司的SuperMap Objects、国外的ArcGIS Engine和MapX等。