- arcEngine开发之IMap、ILayer、IFeatureLayer和IFeatureClass关系
firepation
ArcEngine编程C#Engine
刚开时学习Engine开发时,对于这几个接口之间的关系总是理不清,因此写下这篇文章做个总结。是什么在engine开发中,我觉得使用过程中应该将每个接口对应到ArcMap中的具体事物中,这才能对它们有深刻的认识,那么,这几个接口代表的事物是什么呢?IMap这相对来说比较好理解,Map就是许多图层的集合,就像ArcMap中的MXD文档一样,可以包括许多图层Layer.ILayerLayer是图层对象,
- arcgis计算面到线的最短距离(c#,arcengine)
gis新秀
arcenginec#GISarcgis
首先是问题,问题如下。首先有一个面数据,一个线数据。如下现在我要获取每个面到线的最短距离,怎么做了?用arcgis一般的人还是很难会操作的(很熟练的就别论了)。现在如何简单快速的解决?,降级使用者的门槛?现在打开我们的程序。输入两个数据,点击计算,计算完成后结果就是这样了。是不是简单了很多,啊哈哈。源码如下:有需要的博客找我联系方式。滴滴
- ArcEngine10.2 VC++实现地图浏览基本功能
OrangePan
ArcObjectsVC++VC++ArcEngine10.2
1、创建一个mfc单文档程序(我这里叫MapEx),前面可以默认,高级功能中的“ActiveX控件(R)”必须要,在最后一步生成的类,基类选择CFormView。2、添加MapControl控件,点击窗体IDD_MAPEX_FORM,右键选择“插入ActiveX控件(X)”,选择EsriMapControl,确认。3,、加载地图,可以通过MapControl的属性页MapDocment来加载,也可
- VS2019+ArcEngine10.2+ArcMap10.2环境搭建
椰汁芒芒冰
其他
VS2019+ArcEngine10.2+ArcMap10.2环境搭建tps://www.pianshen.com/article/5195200233/
- C#+ ArcEngine 调用GP工具示例
吵吵人
记得添加引用:usingESRI.ArcGIS.Geoprocessing;……引用这部分少什么添加什么,很简单相交publicIFeatureClassIntersect2(IFeatureClassA,IFeatureClassB,stringname){Geoprocessorgeoprocessor=newGeoprocessor();geoprocessor.OverwriteOutpu
- VS2013/VS2015/VS2017下使用ArcEngine10.1/10.2
11wy11
ArcGISAEVS
背景ArcObjectsSDKforMicrosoft.NetFramework10.1或10.2在安装时,会检测VS2010或VS2012的安装路径,而有时因为其他项目使用限制而且不愿同时安装多个版本的VS,通过修改注册表方式实现安装具体步骤1.修改注册表首先打开注册表,window系统可以通过win+R,输入regedit后,回车打开注册表这里以2013为例找到计算机\HKEY_LOCAL_M
- ArcGIS Engine专题(1)之License许可统一管理类
xizhjxust_GIS
ArcEngine专题ArcEngineC#许可管理工具
ArcEngine/ArcObject二次开发的项目,在使用相关组件时都需要进行许可管初始化。许可初始化可以通过两种方式实现。目录一、手动拖拽许可控件LicenseControl二、通过IAoInitialize接口进行初始化(推荐)三、注
- ArcEngine 加载栅格影像图并建立金字塔
GIS_百度
C#gis
一般情况加载栅格影像图,但没建立金字塔,导致软件卡死~其实方法很简单,只需添加pRasterPyramid.BuildPyramid(-1,rstResamplingTypes.RSP_NearestNeighbor)即可。一、方法代码如下://////从文件夹中加载栅格数据的静态方法//////栅格文件的路径///返回加载的栅格IRasterpublicstaticvoidLoadRasterF
- ArcEngine加载栅格数据
HerryDong
ArcEngineArcEngine栅格数据
一直以来对栅格数据接触较少,曾经大二的时候用ERDAS做过监督分类和蓝藻提取,后来接触了GIS开发也就没再做过了,不过现在还是准备探索一下ArcEngine针对栅格数据的相关操作。既然数据是GIS的血液,那就从加载栅格数据开始吧。栅格数据大致分为两种形式进行存储:一种是以文件的形式存储,例如TIFF文件,另一种则是存储在地理数据库中。在ArcEngine中,IRasterWorkspace接口用于
- 读取dxf
小koala
将Cass导出的dxf导入ArcEngine二次开发的软件,将一些要素编码示例记录下来备忘。1、参考资料dxf参考手册解析dxf图形文件格式dxf文件分析2、点线注记图形编码示例以下组码取自ENTITIES(实体段),关于dxf数据结构请翻阅参考资料2.1点要素0//开头标识INSERT//点要素标识522F3302100AcDbEntity8GXYZ//Cass图层名6Continuous100
- ArcEngine添加指北针
HerryDong
ArcEngineArcEngine指北针
程序主界面如下图所示:主界面代码:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.W
- ArcEngine符号化——点符号选择器
HerryDong
ArcEngineArcEngine
1、前言前面的博客介绍了在ArcEngine中如何创建各类符号,但是回顾一下ArcMap中的操作,你肯定会想:一个一个创建符号实在是太过麻烦,如果有一个符号选择器供我们使用就好了。这篇博客就来介绍一下如何创建一个如下图所示的点符号选择器。2、符号样式文件对于ArcEngine来说,它是不能直接使用ArcMap中的符号库的,它能使用的是一种后缀名为*.ServerStyle的文件。以我的电脑为例,我
- ArcEngine编辑模块——批量删除要素
HerryDong
C#ArcEngineC#ArcEngine
1、前言在ArcEngine中,删除要素的方法有很多,你可以使用IFeatureCursor或ITable查询出部分要素然后依次删除。但这两个接口只能针对单个图层的要素进行删除,而在编辑状态下,我们可能一次选中了多个图层下的多个要素,这时候就得使用IFeature接口的Delete方法进行操作,下面给出实现代码。2、删除要素2.1、主界面代码usingESRI.ArcGIS.Controls;us
- ArcEngine中的空间参考操作代码
HerryDong
ArcEngineArcEngine
GIS中的坐标系一般分为地理坐标系和投影坐标系。地理坐标系就是用经纬度来表示位置,投影坐标系则是按照一定的数学规则,将球体投影到平面上,一般用X、Y表示位置,单位为米。若要进行投影转换,如果转换前和转换后的空间参考是基于同一参考椭球体,则可在ArcGIS中直接进行转换,如果转换前和转换后的空间参考基于不同的参考椭球体,则首先需要计算七参数,然后才能在ArcGIS中进行转换。下面是ArcEngine
- ArcEngine符号化——填充符号
HerryDong
ArcEngineArcEngine
1、前言这篇博客来介绍一下ArcEngine中的填充符号。填充符号一般有简单填充、点填充、线填充等等,有一类特殊的点密度填充将在下一篇博客介绍。2、常用的填充符号2.1、简单填充符号2.2、点填充符号2.3、线填充符号2.4、叠加填充符号2.5、图片填充符号2.6、渐变填充符号3、实现代码usingSystem;usingSystem.Windows.Forms;usingESRI.ArcGIS.
- arcgis 线上到指定点的距离最短的一点/QueryPointAndDistance/ReturnNearestPoint
Prince_Treasure
ArcGISC#
在ArcEngine中可以通过两种方式实现:第一种:由ICurve和IPolyline接口的QueryPointAndDistance方法实现。该方法中有七个参数,下面对这些参数进行详细说明:1.extension参数:esriSegmentExtension枚举类型,用于指定曲线段延伸的方式,主要有esriNoExtension(曲线段不做延伸)、esriExtendTangents等。延伸方式
- C# AO/AE The coordinates or measures are out of bounds
Prince_Treasure
c#
c#arcengine开发shape导入sde中图形缩小不显示问题,因为shape不存在domain问题,导入sde中会把shape默认的图形范围导入,导致地图显示超过domain范围就会无法绘制。IGeoDatasetpGeoDataset=pInFeatureClassasIGeoDataset;doublexMin;doublexMax;doubleyMin;doubleyMax;pGeoD
- C# ArcGIS HRESULT:0x80040228
Prince_Treasure
arcgisc#
ArcObjects或者ArcEngine的C#版本在读取shp文件的时候报错:HRESULT:0x80040228首先确保你的license可用,方法是新建一个winform程序,向界面拖入license控件,如果能过成功则表示license没问题,如果拖入就直接报错则表明license有问题,需要重新安装或者换个安装包。如果上面一步的license检查没有问题,在读取的时候报错HRESULT:
- 基于C#的AE二次开发之IQueryFilter接口、ISpatialFilter接口、IQueryDef 接口的查询接口的介绍
Prince_Treasure
ArcGISC#VS2012c#开发语言
一、开发环境开发环境为ArcGISEngine10.2与Visualstudio2010。在使用ArcEngine查询进行查询的时候主要使用三种查询接口IQueryFilter(属性查询)、ISpatialFilter(空间查询)、IQueryDef(多表查询)那么这三个接口的区别是什么呢?要求IQueryFilterISpatialFilterIQueryDef属性约束TrueTrueTrue空
- C#转Java心路历程
xiangshangdemayi
JAVAjavaC#心路历程经验对比
前言:因为目前gis圈里,搞b/s的基本后台都用的是java、c++,java占主流。不过c/s的主流还是C#,主要集中在ArcEngine、skyline、osgEarth上做二次开发。但我一直是做b/s的,虽然搞了三年的C#,还是准备转java。有句话说的好,做一件事,最好的时间就是十年前,或者现在。所以别犹豫,干就完了。接下来对比一下C#和java的不同之处吧:1、gettersetterC
- 【编程实践】VS调用ArcEngine开发出现的问题之ArcGIS version not specified. You must call RuntimeManager.
狮智先生
编程实践visualstudiocodevisualstudiowindows
问题描述:“System.InvalidOperationException”类型的未经处理的异常在ESRI.ArcGIS.AxControls.dll中发生其他信息:ArcGISversionnotspecified.YoumustcallRuntimeManager.BindbeforecreatinganyArcGIScomponents.解决方法:在[解决方案资源管理器]中,打开【Prog
- FME数据处理04:面自相交拓扑检查
小薛引路
FMEFME
在ArcGIS中仅提供了线要素的自相交拓扑检查,并未找到关于面要素自相交的相关表述;本文结合FME2019。列举了几种面自相交的情形,并介绍了FME中三个转换器及其设置方法。关于ArcEngine的拓扑检查接口,可以参见基于C#的ArcEngine二次开发22:要素拓扑检查_小薛引路的博客-CSDN博客https://blog.csdn.net/m1m2m3mmm/article/details/
- ArcEngine向量法等距扩展多边形
小koala
在开发项目中遇到生成界址点注记的功能需求,注记坐标的确定成为难点,打算用多边形扩展的方法确定注记的坐标,但AE的不提供多边形扩展(收缩)接口,与之相似的,缓冲的点不是与原多边形坐标一一对应。在网上找了多边形扩展算法,采用向量法。1、原理和步骤原理草图步骤:获取边向量(末-初),向量用坐标点存储;获取边向量的单位向量;确定指向新点方向:向量减法(末-初)、sin(向量积);获取斜率:新向量(指向新点
- arcengine栅格渲染(栅格重分类) IRasterClassifyColorRampRenderer
jack5s
ArcGIS二次开发ArcGIS二次开发栅格重分类栅格颜色渲染
ArcGIS中常用到栅格数据的颜色渲染,以及相应级别的label的显示privatevoidRasterView(IRasterLayerRasterLayer,doubleBreakPoint1,doubleBreakPoint2,doubleBreakPoint3,doubleBreakPoint4,doubleBreakPoint5){IRasterClassifyColorRampRend
- ArcGIS Engine 与 Visual Studio版本对照表
surpassLiang
地理信息arcgisarcgis开发c#
通过C#对于Arcgis的二次开发,需要VisualStudio版本需要与ArcGISEngine对应,VisualStudio版本的或高或低都不能使ArcObjectsSDKformicrosoft.Netframework安装成功。下面是各个版本的对照表。序号ArcEngine版本visualStudio版本Network版本110.2/10.21/10.222010的社区、专业版和旗舰版3.
- 基于ArcEngine二次开发的选择带橡皮筋平移工具
hsg77
GIS相关ArcGISEngine开发笔记
基于ArcEngine二次开发的选择带橡皮筋平移工具去掉了单击居中的功能主要采用了下面三个方法:ScreenDisplay.PanStart(this.startPoint)ScreenDisplay.PanMoveTo(movePoint);ScreenDisplay.PanStop();usingESRI.ArcGIS.Carto;usingESRI.ArcGIS.Controls;using
- ArcEngine二次开发实用函数13:根据百万图号计算中央子午线和带号
小薛引路
AE二次开发实用函数集c#linqjava
计算公式及示例:以I46G027096为例6度分带6度带号的计算方式为:46-30=16带对应的6度分带的中央子午线为:16*6-3=933度分带对应的3度带的计算则需根据不同的比例尺来计算软件设计软件界面:界面布局:标签Name图幅号textBox_bwth6度带号TextBox6dh6度中央子午线TextBox6zwx3度带号TextBox3dh3度中央子午线TextBox3zwx完整源码:u
- ArcEngine二次开发实用函数14:结果导出的shp文件
小薛引路
AE二次开发实用函数集arcgis
在进行矢量数据检查时,我们经常性的需要将数据导出为shp格式的文件;本节就着重介绍矢量图像导出shp格式的文件的一些细节和注意事项。1.创建工作空间注解1:在创建工作空间时,我们需要传递的参数是shp文件保存路径名称的目录部分;名称部分则是在创建图层的时候再给。可以通过System.IO.Path.GetDirectoryName()和System.IO.Path.GetFileName()两个方
- ArcEngine二次开发0——入门(下载 部署 组件学习)
蔺WIT
专业学习笔记GISArcEngineC#AE二次开发
折腾一下ArcGISEngine二次开发。目录1、开发环境配置2、部署一个ArcGISEngine应用程序3、ArcObject组件学习4、报错及解决4、其他1、开发环境配置参考:https://blog.csdn.net/H48662654/article/details/113384150(使用ArcEngine前,先要安装对应版本的ArcGISDesktop桌面版软件,同时,AE也有对应的V
- arcengine的一些例子实现
benbensheng
打开mxd文件OpenFileDialogaxMapControl1.LoadMxFile(pFileName);打开shp文件IWorkspaceFactorypWorkspaceFactory=(IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(pFilePath,0);IFeatureWorkspacepFeatureWorkspace=new
- Algorithm
香水浓
javaAlgorithm
冒泡排序
public static void sort(Integer[] param) {
for (int i = param.length - 1; i > 0; i--) {
for (int j = 0; j < i; j++) {
int current = param[j];
int next = param[j + 1];
- mongoDB 复杂查询表达式
开窍的石头
mongodb
1:count
Pg: db.user.find().count();
统计多少条数据
2:不等于$ne
Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0});
查询id不等于3的数据。
3:大于$gt $gte(大于等于)
&n
- Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space
0624chenhong
jvmjboss
转自
http://blog.csdn.net/zou274/article/details/5552630
解决办法:
window->preferences->java->installed jres->edit jre
把default vm arguments 的参数设为-Xms64m -Xmx512m
----------------
- 文件上传 下载 解析 相对路径
不懂事的小屁孩
文件上传
有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。
下面总结一下遇到的问题:
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。
在上传图片,或者文件时,使用form表单来操作。
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下:
<form action=&
- 怎么实现qq空间批量点赞
换个号韩国红果果
qq
纯粹为了好玩!!
逻辑很简单
1 打开浏览器console;输入以下代码。
先上添加赞的代码
var tools={};
//添加所有赞
function init(){
document.body.scrollTop=10000;
setTimeout(function(){document.body.scrollTop=0;},2000);//加
- 判断是否为中文
灵静志远
中文
方法一:
public class Zhidao {
public static void main(String args[]) {
String s = "sdf灭礌 kjl d{';\fdsjlk是";
int n=0;
for(int i=0; i<s.length(); i++) {
n = (int)s.charAt(i);
if((
- 一个电话面试后总结
a-john
面试
今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结:
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。
然后对list和map分别举几个类型:
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了
- MSSQL中Escape转义的使用
aijuans
MSSQL
IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC
create table #ABC
(
PATHNAME NVARCHAR(50)
)
insert into #ABC
SELECT N'/ABCDEFGHI'
UNION ALL SELECT N'/ABCDGAFGASASSDFA'
UNION ALL
- 一个简单的存储过程
asialee
mysql存储过程构造数据批量插入
今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:
DELIMITER $$
DROP PROCEDURE IF EXISTS inse
- annot convert from HomeFragment_1 to Fragment
百合不是茶
android导包错误
创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单;
创建类时引入包是:import android.app.Fragment;
创建队列和对象时使用的包是:import android.support.v4.ap
- Weblogic10两种修改端口的方法
bijian1013
weblogic端口号配置管理config.xml
一.进入控制台进行修改 1.进入控制台: http://127.0.0.1:7001/console 2.展开左边树菜单 域结构->环境->服务器-->点击AdminServer(管理) &
- mysql 操作指令
征客丶
mysql
一、连接mysql
进入 mysql 的安装目录;
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p
输入密码,回车,接连;
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效]
1、赋权
mys
- 【Hive一】Hive入门
bit1129
hive
Hive安装与配置
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。
Hive安装和配置的步骤
1. 从如下地址下载Hive0.14.0
http://mirror.bit.edu.cn/apache/hive/
2.解压hive,在系统变
- ajax 三种提交请求的方法
BlueSkator
Ajaxjqery
1、ajax 提交请求
$.ajax({
type:"post",
url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
dataType : "json",
success : function(result) {
try {
for(v
- mongodb开发环境下的搭建入门
braveCS
运维
linux下安装mongodb
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz
2)linux 解压
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz;
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-
- 编程之美-最短摘要的生成
bylijinnan
java数据结构算法编程之美
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
public class ShortestAbstract {
/**
* 编程之美 最短摘要的生成
* 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran
- json数据解析及typeof
chengxuyuancsdn
jstypeofjson解析
// json格式
var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
+' {"firstName": "CCC&
- 流程系统设计的层次和目标
comsci
设计模式数据结构sql框架脚本
流程系统设计的层次和目标
 
- RMAN List和report 命令
daizj
oraclelistreportrman
LIST 命令
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的
信息。使用此命令可列出:
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本
• 可用的且可以用于还原操作的数据文件备份和副本
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份
• 包含指定名称或范围的所有归档日志备份的备份集和副本
• 由标记、完成时间、可
- 二叉树:红黑树
dieslrae
二叉树
红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题.
红黑树必须遵循红黑规则,规则如下
1、每个节点不是红就是黑。 2、根总是黑的 &
- C语言homework3,7个小题目的代码
dcj3sjt126com
c
1、打印100以内的所有奇数。
# include <stdio.h>
int main(void)
{
int i;
for (i=1; i<=100; i++)
{
if (i%2 != 0)
printf("%d ", i);
}
return 0;
}
2、从键盘上输入10个整数,
- 自定义按钮, 图片在上, 文字在下, 居中显示
dcj3sjt126com
自定义
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa
- MySQL查询语句练习题,测试足够用了
flyvszhb
sqlmysql
http://blog.sina.com.cn/s/blog_767d65530101861c.html
1.创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR
- 转:MyBatis Generator 详解
happyqing
mybatis
MyBatis Generator 详解
http://blog.csdn.net/isea533/article/details/42102297
MyBatis Generator详解
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.
- 让程序员少走弯路的14个忠告
jingjing0907
工作计划学习
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助
1.不要害怕在工作中学习。
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放
- nginx和NetScaler区别
流浪鱼
nginx
NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。
3.策略灵活度方
- 第11章 动画效果(下)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- FAQ - SAP BW BO roadmap
blueoxygen
BOBW
http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq
Besides, I care that how to integrate tightly.
By the way, for BW consultants, please just focus on Query Designer which i
- 关于java堆内存溢出的几种情况
tomcat_oracle
javajvmjdkthread
【情况一】:
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环; 如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决: <jvm-arg>-Xms3062m</jvm-arg> <jvm-arg>-Xmx
- Manifest.permission_group权限组
阿尔萨斯
Permission
结构
继承关系
public static final class Manifest.permission_group extends Object
java.lang.Object
android. Manifest.permission_group 常量
ACCOUNTS 直接通过统计管理器访问管理的统计
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限
D