ArcGIS server 10环境下的性能与生产力

B. Collins
{"title":"ArcGIS server 10环境下的性能与生产力","authors":"B. Collins","doi":"10.1145/1999320.1999377","DOIUrl":null,"url":null,"abstract":"While many programming languages excel in their ability to execute commands quickly, others embody a greater focus on programmer productivity and clear syntax. In ESRI's GIS software package ArcGIS, Python is now the choice language for many GIS Analysts as an alternative to the more complex ArcObjects library. ArcObjects is written in C#, Visual Basic, Java, or C++, all more difficult languages to learn than Python, but also much faster. In modern web mapping, ArcGIS Python scripts are now making their way onto the server, sometimes at the expense of application performance and stability. I have explored the idea of code performance vs. programmer productivity in the context of ArcGIS Server by writing several web-based geoprocessing services in both Python and C# ArcObjects. The goal was to identify the classes of tools which are best developed using one technology or the other, either based on performance or ease of development. From the outset, I made the assumption that under equal circumstances, it is easier to develop a service in Python, but that C# will always execute faster. The different geoprocessing services were divided into three categories: raster-based, vector-based, and server utilities. The services had different inputs and outputs ranging from text to polygons to zip files. Multi-Mechanize web performance and load testing framework was used to automate requests and make testing repeatable. Multi-Mechanize is an open source testing framework written in python which assisted in replaying requests, logging responses, and compiling statistics. Using this framework, I was able to make an assessment of the exact types of geoprocessing services which should be built using python, and which should be avoided.","PeriodicalId":400763,"journal":{"name":"International Conference and Exhibition on Computing for Geospatial Research & Application","volume":"70 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-05-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Performance vs. productivity in the context of ArcGIS server 10\",\"authors\":\"B. Collins\",\"doi\":\"10.1145/1999320.1999377\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"While many programming languages excel in their ability to execute commands quickly, others embody a greater focus on programmer productivity and clear syntax. In ESRI's GIS software package ArcGIS, Python is now the choice language for many GIS Analysts as an alternative to the more complex ArcObjects library. ArcObjects is written in C#, Visual Basic, Java, or C++, all more difficult languages to learn than Python, but also much faster. In modern web mapping, ArcGIS Python scripts are now making their way onto the server, sometimes at the expense of application performance and stability. I have explored the idea of code performance vs. programmer productivity in the context of ArcGIS Server by writing several web-based geoprocessing services in both Python and C# ArcObjects. The goal was to identify the classes of tools which are best developed using one technology or the other, either based on performance or ease of development. From the outset, I made the assumption that under equal circumstances, it is easier to develop a service in Python, but that C# will always execute faster. The different geoprocessing services were divided into three categories: raster-based, vector-based, and server utilities. The services had different inputs and outputs ranging from text to polygons to zip files. Multi-Mechanize web performance and load testing framework was used to automate requests and make testing repeatable. Multi-Mechanize is an open source testing framework written in python which assisted in replaying requests, logging responses, and compiling statistics. Using this framework, I was able to make an assessment of the exact types of geoprocessing services which should be built using python, and which should be avoided.\",\"PeriodicalId\":400763,\"journal\":{\"name\":\"International Conference and Exhibition on Computing for Geospatial Research & Application\",\"volume\":\"70 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2011-05-23\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"International Conference and Exhibition on Computing for Geospatial Research & Application\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/1999320.1999377\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"International Conference and Exhibition on Computing for Geospatial Research & Application","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/1999320.1999377","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

虽然许多编程语言在快速执行命令方面表现出色,但其他编程语言更注重程序员的生产力和清晰的语法。在ESRI的GIS软件包ArcGIS中,Python现在是许多GIS分析人员的首选语言,可以替代更复杂的ArcObjects库。ArcObjects是用c#、Visual Basic、Java或c++编写的,这些语言都比Python更难学,但也快得多。在现代的web地图中,ArcGIS Python脚本现在正在进入服务器,有时以牺牲应用程序的性能和稳定性为代价。在ArcGIS Server环境下,我用Python和c# ArcObjects编写了几个基于web的地理处理服务,探索了代码性能与程序员生产力之间的关系。目标是根据性能或开发的便利性,确定使用一种技术或另一种技术最好开发的工具类别。从一开始,我就假设在相同的情况下,用Python开发服务更容易,但c#总是执行得更快。不同的地理处理服务分为三类:基于栅格的、基于矢量的和服务器实用程序。这些服务有不同的输入和输出,从文本到多边形再到zip文件。使用Multi-Mechanize web性能和负载测试框架实现请求自动化,并使测试可重复。Multi-Mechanize是一个用python编写的开源测试框架,它可以帮助重放请求、记录响应和编译统计数据。使用这个框架,我能够对应该使用python构建和应该避免的地理处理服务的确切类型进行评估。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Performance vs. productivity in the context of ArcGIS server 10
While many programming languages excel in their ability to execute commands quickly, others embody a greater focus on programmer productivity and clear syntax. In ESRI's GIS software package ArcGIS, Python is now the choice language for many GIS Analysts as an alternative to the more complex ArcObjects library. ArcObjects is written in C#, Visual Basic, Java, or C++, all more difficult languages to learn than Python, but also much faster. In modern web mapping, ArcGIS Python scripts are now making their way onto the server, sometimes at the expense of application performance and stability. I have explored the idea of code performance vs. programmer productivity in the context of ArcGIS Server by writing several web-based geoprocessing services in both Python and C# ArcObjects. The goal was to identify the classes of tools which are best developed using one technology or the other, either based on performance or ease of development. From the outset, I made the assumption that under equal circumstances, it is easier to develop a service in Python, but that C# will always execute faster. The different geoprocessing services were divided into three categories: raster-based, vector-based, and server utilities. The services had different inputs and outputs ranging from text to polygons to zip files. Multi-Mechanize web performance and load testing framework was used to automate requests and make testing repeatable. Multi-Mechanize is an open source testing framework written in python which assisted in replaying requests, logging responses, and compiling statistics. Using this framework, I was able to make an assessment of the exact types of geoprocessing services which should be built using python, and which should be avoided.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Efficient Online Sharing of Geospatial Big Data Using NoSQL XML Databases Science in times of crisis: delivering situational awareness to emergency managers and the public when disaster strikes MIMIC: Mobile mapping point density calculator Airborne geo-location for search and rescue applications Performance comparisons of spatial data processing techniques for a large scale mobile phone dataset
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1