ArcObjects SDK开发 004 如何学习好ArcObjects SDK开发
1、基于Arcobjects SDK可以做什么
基于Arcobjects SDK开发,大部分情况下就是做桌面GIS应用程序。AO写的代码是不能直接在Web服务上运行的,但如果你前端是JS,需要后端处理数据,也可以把AO写的代码封装成exe,在Web服务中取调exe文件,通过文件传递参数以及进度信息也是可以的。
2、基于ArcObjects开发的缺点
1、基于COM封装的,调试的时候比较麻烦,有时候报的错误信息也不太明确,有些定义的对象需要手动释放内存。
2、上手难度比较大。
3、32位的,对内存使用有限制,当处理较大数据的时候,会出现内存溢出等问题,那时候就需要想其他办法解决。
3、如何学习AO开发
1、有编程基础,最好能够熟练使用C#开发语言和Visual Studio开发工具。
2、理解面向对象编程,理解接口转换,因为Arcobjects SDK中有很多都需要接口来回转换。
3、掌握GIS的基本知识,例如矢量、栅格、空间参考、要素、元素、比例尺等。
4、能够熟练使用ArcMap,ArcMap是基于AO开发,ArcMap大部分UI上的元素都是能和AO SDK中接口以及其属性对应起来的。如果一个需求能用ArcMap做出来,那么基于AO SDK有90%的把握是可以做出来的。
5、学会使用AO的帮助,ArcObjects帮助写的非常规范,每个类继承了哪些接口,某个接口被哪些类实现等非常清晰。帮助中有很多说明文字,描述相关接口的概念、关系等。例如在IActiveView接口的帮助页面,就详细描述了地图文件、布局视图、数据视图以及地图接口之间的关系。
6、.Net开发我感觉是入门简单,提高难。AO开发和其相反,是入门难,提高较为简单。一旦入门,有了自己解决问题的思路后,就能举一反三,去解决其他问题。
ArcObjects SDK开发 004 如何学习好ArcObjects SDK开发的更多相关文章
- 大厂的 SDK 写法,偷学到了!
自己动手写 SDK 的经验技巧分享 大家好,我是鱼皮. 最近因为工作需要,自己动手写了一些项目的通用 SDK.在编写的过程中,我阅读和参考了不少公司中其他大佬写的 SDK,也总结了一些开发 SDK 的 ...
- Android Automotive开发之一《编译自己的SDK 》 // TOBEDONE
自己动手编译最新Android源码及SDK : http://blog.csdn.net/dd864140130/article/details/51718187官方文档,怎样编译sdk : http ...
- 老司机学新平台 - Xamarin开发环境及开发框架初探
随着被微软收购,最近一年间,Xamarin的火爆程度与日俱增.免费.更好的VS2015集成.更好的模拟器,甚至,在windows上运行和调试iOS平台程序,让我这样接触了十几年.NET平台的老司机,即 ...
- 开发腾讯移动游戏平台SDK ios版Ane扩展 总结
本文记录了在开发 腾讯移动游戏平台SDK(MSDK) ios版Ane扩展 过程中所遇到的问题 文中非常多问题都是基础的问题.对object c和xcode配置了解不深入导致的.(没办法,开发ane的程 ...
- 李洪强iOS开发之-环信03_集成 SDK 基础功能
李洪强iOS开发之-环信03_集成 SDK 基础功能 集成 SDK 基础功能 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. SDK 同步/异步方法区分 ...
- 跟我学android-搭建Android开发环境(一)
Android官网地址:http://developer.android.com/,下载和安装 AndroidSDK请按如下步骤进行: 下载ADT 和SDK:http://developer.andr ...
- 开发腾讯移动游戏平台SDK Android版Ane扩展 总结
本文记录了在开发 腾讯移动游戏平台SDK(MSDK) Android版Ane扩展 过程中所遇到的问题和相关解决方式 问题一:编译报错:Unable to resolve target 'android ...
- Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能
Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...
- 无责任Windows Azure SDK .NET开发入门篇(一):开发前准备工作
Windows Azure开发前准备工作 什么是 Azure SDK for .NET?微软官方告诉我们:Azure SDK for .NET 是一套应用程序,其中包括 Visual Studio 工 ...
- Android开发工具Android Studio、Android SDK和Genymotion完全配置
所谓“工欲善其事,必先利其器”.Android Studio 是谷歌推出一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提 ...
随机推荐
- jmeter性能测试之正则提取响应头或者响应体
准备工作做好,先发送请求 然后察看结果树中的响应消息 比如我们要提取这个cookie,先调试一下,看能不能提取到 看蓝色的线条,我们提取到了,然后我们把这句话写入到后置处理器中的正则表达式提取里 再次 ...
- Kubernetes 基本概念与组件
Kubernetes(简称 K8S) 的出现是容器化技术发展的必然结果,容器化是应用程序级别的虚拟化,运行单个内核上有多个独立的用户空间实例,这些实例就是容器:容器提供了将应用程序的代码.运行时.系统 ...
- 存储卷PersistentVolume
概述 与管理计算资源相比,管理存储资源是一个完全不同的问题.为了更好的管理存储,Kubernetes 引入了 PersistentVolume 和 PersistentVolumeClaim 两个概念 ...
- IDEA设置问题
一. IDEA 相关设置 1.1 去除SQL语句的黄色背景 Settings > Editor > Inspections > SQL No data sources configu ...
- [题解] Topcoder 15279 SRM 761 Div 1 Level 3 SpanningSubgraphs DP,容斥
题目 考虑DP.\(f(msk,i)\) 表示集合 \(msk(一定包含0号点)\) ,选了恰好i条边的连通方案数.转移用容斥,用这个点集内部所有连边方案减去不连通的.令\(|e_{msk}|\)表示 ...
- C#并发编程-3 并行编程基础
如果程序中有大量的计算任务,并且这些任务能分割成几个互相独立的任务块,那就应该使用并行编程. 并行编程用于分解计算密集型的任务片段,并将它们分配给多个线程.这些并行处理方法只适用于计算密集型的任务. ...
- Vue中生成UUID
<template> <div :id="elId" class="container"> <a>{{elId}}</ ...
- Spring Boot 源码学习之转载
这次的学习,主要转载了 波波老师的笔记,后续会自己整理一份 1.Spring-Boot源码分析-源码编译:https://dpb-bobokaoya-sm.blog.csdn.net/article/ ...
- oracle expdp/exp ora-600/ora-39014报错处理
在一次数据迁移的时候,expdp导出报错,错误信息如下: 版本号:11.2.0.1 没有打PSU,查看报错的aler部分日志如下: 其中的某一些trc日志文件截图: Trace file d:\ora ...
- F118校准(二)-- 操作步骤(使用任意品牌PG点屏,并使用PX01 PG校准F118)
1. 准备工作 硬件连接: CA310通过USB线材连接PC PX01通过USB线材连接PC F118通过灰排线连接PX01左上角的GPIO扩展口(如下图所示) 启动LcdTools软件,点击&quo ...