自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (1)
  • 收藏
  • 关注

原创 GDAL-影像按照波段进行切片(c#)

public void SplitImagery(string pFilePath) { Dataset pDataset = Gdal.Open(pFilePath, Access.GA_ReadOnly); double[] pGeoTransform = new double[6]; pDataset.GetGeoTransform(pGeoTransform); string...

2020-06-30 09:20:23 834

原创 为FeatureClass添加字段

/// <summary> /// 在为shp文件添加字段时,需要注意字段长度不能过10 /// </summary> /// <param name="pFeatureClass"></param> /// <param name="pFieldName"&gt...

2019-04-30 15:14:39 931

原创 输出FeatureClass中的属性表

/// <summary> /// 输出要素类的属性表 /// </summary> /// <param name="pFeatureClass"></param> /// <param name="filePath"></param> ...

2019-04-30 15:10:23 542

原创 将图层添加到对应的图层树的节点当中

/// <summary> /// 往目标节点中添加图层节点 /// </summary> /// <param name="pLayer"></param> /// <param name="GroupLayerComboTree"></param&...

2019-04-30 15:08:19 348

原创 根据IFeatureLayer在Map中的渲染颜色设置对应的DonetBar中Listbox中Layer项的符号

/// <summary> /// 显示Listbox 的layer数据 /// </summary> /// <param name="pLayer"></param> /// <param name="FeatureLayerListBoxAdv">&l...

2019-04-30 15:06:00 414

原创 添加图层组

/// <summary> /// 添加图层组 /// </summary> /// <param name="axMapcontrol"></param> /// <param name="groupName"></param> ...

2019-04-30 15:01:50 292

原创 获取图层所在的图层组

/// <summary> /// 递归返回图层所在的图层组 /// </summary> /// <param name="pGroupLayer"></param> /// <param name="pLayer"></param> ...

2019-04-30 15:00:54 421

原创 设置图层组中图层的显隐

/// <summary> /// 设置图层组的显隐 /// </summary> /// <param name="pLayer"></param> /// <param name="visible"></param> publ...

2019-04-30 14:59:47 1270

原创 为FeatureClass的特定属性赋值

public static void AssignFieldValue(IFeatureClass pFeatureClass, int[] fields, List<object>[] values) { ITable pTable = pFeatureClass as ITable; ICursor ...

2019-04-30 14:54:01 388

原创 Postgresql踩坑记

1:通过postgis插件导入shape文件后,原来的空间列不再是shape字段了,变成了geom字段。2:postgresql是区分大小写的,当不加双引号时,默认回去找大写的表或者列,如果没有小写,只有大写,则会报错。如果需要找到大写的表或者列,则需要加双引号。3:postgresql没有dual表,所以需要新建一个名为dual的视图 CREATE OR REPLACE VI...

2018-12-20 15:30:41 1743

原创 JS控制页面全屏(兼容IE10 谷歌 火狐)

之前有一个项目可能需要全屏展示图标信息,所以在网上找到一段代码,如下: var element = document.documentElement; if (!$('body').hasClass("full-screen")) { $('body').addClass("full-screen"); $('#alarm-fullscreen-tog...

2018-12-12 15:42:32 2809 2

原创 SpringMVC中的MultipartResolver,LocaleResolver

用于解析multipart request的策略接口。最经典的实现是CommonsMultipartResolver。这个MultipartResolver的bean的名称是multipartResolver,默认是没有的,所以涉及到文件上传需要配置这个bean到ApplicationContext中 MultipartHttpServletRequest resolveMultipar...

2018-08-03 14:44:16 179

原创 SpringMVC中的View

如果用户没有提供视图或者视图名称,那么配置好的RequestToViewNameTranslator将会将当前的请求转换成一个视图名称。这个转换器对应的bean 名称是viewNameTranslator。其默认是DefaultRequestToViewNameTranslator。View负责渲染内容,公开model。一个单个的视图会公开出多个model属性。 视图实现之间区别很大。一般...

2018-08-03 14:21:33 1864

原创 SpringMVC中的ViewResolver

ViewResolver将符号化的视图名称解析成视图对象,默认的视图解析器是InternalResourceViewResolver;有三种解析器InternalResourceViewResolver ResourceBundleViewResolver XmlViewResolverView resolveViewName(String viewName, Locale loc...

2018-08-03 14:00:15 203

原创 SpringMVC中的HandlerExceptionResolver

接口的实现能够解决在处理器映射、执行过程中发生的异常,通过情况下是提供错误视图。错误视图与JSP的错误页面类似;提供了一个唯一的待实现的方法 ModelAndView resolveException( HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex);...

2018-08-03 13:49:21 237

原创 SpringMvc中的HandlerAdapter

MVC框架的接口,允许参数化核心的mvc流程接口必须被实现,用于每个处理器类型处理一种请求。这个接口使得DispatcherServlet能够无限制的扩展。DispathcerServlet通过这个接口访问所有已经安装好的handler.,意味着他没有包含特定于某个处理类型的代码。public interface HandlerAdapter { /** * 判断是否支持给...

2018-08-03 12:21:25 1040

原创 SpringMVC中的HandlerMapping

这是一个定义请求与处理器对象之间映射关系的接口。这个类能够被应用程序开发人员实现,但其实这个不是必要的,因为框架本身包含了BeanNameUrlHandlerMapping和SimpleUrlHandlerMapping,DefaultAnnotationHandlerMapping。前面那个是默认的,在application context中没有注册HandlerMapping bean的情...

2018-08-03 11:48:08 768

原创 Spring 的WebApplicationContext是如何被实例化的

ContextLoaderListener是ServletContextListener的一种实现,这个接口的作用就是监听ServletContext的生命周期内发生的事件,包括其初始化和销毁public interface ServletContextListener extends EventListener { /** * Receives notification ...

2018-08-02 22:41:38 475

原创 SpringMVC中DispatcherServlet的doService->doDispatch方法

我们知道Servlet的service方法是被Servlet容器调用的,这个时机是发生的有客户端向servlet请求服务时调用的,而这些都将其委托给DispatcherServlet的doDispatch方法。我们查看其关键代码。 processedRequest = checkMultipart(request); multipartRequestParsed = processedR...

2018-05-18 15:24:29 3371 1

原创 SpringMvc中的RequestMappingHandlerAdapter初始化源码阅读

RequestMappingHandlerAdapter中有大量的属性用于对于Request的解析属性,它通俗的讲就是对请求参数和返回值进行解析,当然它也只是一个适配器,具体的实现在由它的一些属性决定。 RootBeanDefinition handlerAdapterDef = new RootBeanDefinition(RequestMappingHandlerAdapter.class)...

2018-05-18 11:38:33 791

原创 SpringMvc的RequestMappingHandlerMapping初始化源码阅读

首先,我们在AnnotationDrivenBeanDefinitionParser中会实例化一个RequestMappingHandlerMapping实例,然后向Spring容器中注册这个实例。查看其父类可知,实现了InitializingBean接口。所以在实例化后会调用afterPropertiesSet方法public abstract class AbstractHandlerMeth...

2018-05-18 11:11:13 801

原创 SpringMvc的AnnotationDrivenBeanDefinitionParser的ContentNegotiationManager

在parse方法中 RuntimeBeanReference contentNegotiationManager = getContentNegotiationManager(element, source, parserContext);                //获取设置的ContentNegotiationManager对象 RootBeanDefinition handle...

2018-05-17 16:53:00 292

原创 Spring对于xml配置文件的解析

当spring在注册BeanDefinition的过程中,会解析自定义的元素BeanDefinitionParserDelegate public BeanDefinition parseCustomElement(Element ele, BeanDefinition containingBd) { String namespaceUri = getNamespaceURI(ele); ...

2018-05-17 14:10:57 228

原创 SpringMvc杂记

1:ServletContext定义了一组Servlet和Servlet容器进行交互的方法。2:一个web应用程序有一个ServletContext.3:如果web应用程序是一个分布式的,ServletContext则不能作为一个全局的数据共享的位置,考虑选择其他的数据源。4:ServletContext被包含一个ServletConfig对象中,这个对象是在Servlet被初始化的时候Web服务...

2018-05-17 11:34:04 114

原创 Spring如何通过定义在META-INF/spring.handlers中的属性进行配置文件解析

毫无疑问这些东西肯定在Spring的入口函数refresh()之中进行的。AbstractApplicationContextConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory();//获得一个新的beanFactory,并进行一些相关的load protected ConfigurableListableBea...

2018-05-16 18:09:15 4491

原创 Spring是如何对bean进行初始化的。

简单来说在Spring的ApplicationContext被调用了refresh方法后,就会获取刷新后的BeanFactory,在刷新后就对将配置文件进行解析,生成BeanDefinition,并用其BeanName作为key,BeanDefinition为value,放入初始化好的DefaultListableBeanFactory的beanDefinitionMap中存放。BeanName作...

2018-05-16 15:38:05 282

原创 BeanDefinitions如何被加载到BeanFactory中的

我们知道,在wac.refresh()中对beanFactory进行刷新操作,在刷新操作里会对BeanDefinition进行加载,调用loadBeanDefinitions;loadBeanDefinitions(beanFactory); protected void loadBeanDefinitions(DefaultListableBeanFactory beanFactory) thr...

2018-05-16 14:42:34 621

原创 DefaultListableBeanFactory如何被实例化

我们知道在WebApplicationContext初始化的时候需要进行Refresh操作,即调用refresh方法。wac.refresh();在这个过程中会对BeanFactory进行刷新。 // Tell the subclass to refresh the internal bean factory.告诉其子类刷新内部的bean factory ConfigurableList...

2018-05-16 11:47:54 1404

原创 SpringMvc中是如何对策略进行初始化的

我们对DispatcherServlet进行初始化的过程中,会有对他进行监听器的注册操作。wac.addApplicationListener(new SourceFilteringListener(wac, new ContextRefreshListener())); public void addApplicationListener(ApplicationListener&lt;?&gt;...

2018-05-15 17:56:08 247

原创 SpringMvc中DispatcherServlet的init方法阅读

Web容器构造DispatcherServlet完成之后,调用Servlet的init方法 public void init(ServletConfig config) throws ServletException { this.config = config; this.init(); }这个方法将Web容器传入的ServletConfig赋予config属性,并调...

2018-05-15 17:26:28 1036

原创 Spring中如何实例化一个WebApplicationContext.

在web应用启动时,会去web.xml读取配置信息,并由Web容器实例化ContextLoaderListener。当ServletContext被初始化创建完毕后,会调用监听里的contextInitialized方法, public void contextInitialized(ServletContextEvent event) { this.contextLoader = creat...

2018-05-15 15:22:01 706

原创 AOF策略译文

############################## APPEND ONLY MODE ################################ By default Redis asynchronously dumps the dataset on disk. This mode is# good enough in many applications, but an is...

2018-04-11 17:37:19 240

原创 Netty中关于引用计数的retain()/release()方法原子特性的关键compareAndSet

我们知道,实现了ReferenceCounted接口的类的对象都会在引用计数的作用下进行显式的回收。当引用计数为0时,这个对象就不能再被访问了。而这个接口提供了两个方法给我们来操作引用计数。 retain()release()而这个操作是必须保证是在多线程的情况下是安全的,所以他们的操作都是原子的。以retain为例 private ReferenceCounted retain0(int ...

2018-04-07 23:22:41 3462

原创 Netty中ByteBuf的回收机制ReferenceCounted

Netty中ByteBuf采用引用计数的方式进行资源的回收,当ByteBuf中的引用计数值为0时,Netty则不允许应用程序采用任何的方式对这个资源进行访问。它通过实现ReferenceCounted维护引用计数。package io.netty.util;/** * A reference-counted object that requires explicit deallocation...

2018-04-07 22:47:27 917

原创 关于JDK中的ByteBuffer与Netty中的ByteBuf的对比

JDK中ByteBuffer的缺点只是用一个标志位position来进行读写标记,读写操作要使用flip方法进行切换,不太友好。因为ByteBuffer中的实际存储数据的数组是使用final修饰符修饰的,所以不可以 在原来buffer的基础上动态扩容或者缩小。如果需要扩容,需要另外新建一个ByteBuffer,并将旧的ByteBuffer里面的数组复制到已经扩容的ByteBuffer. final...

2018-04-07 22:28:34 749

原创 Netty在注册完之后的bind方法所产生的作用

我们在分析完initAndRegister方法之后,随后就进入了bind端口号的操作了。 abstract void init(Channel channel) throws Exception; private static void doBind0( final ChannelFuture regFuture, final Channel channel...

2018-04-05 20:20:58 715

原创 我们在接收一个新的连接请求之后是如何生成一个新的socketchannel并注册读写事件的呢

我们知道,在NioEventLoop当中,我们会循环处理得到的selectedKeys,调用的方法 private void processSelectedKey(SelectionKey k, AbstractNioChannel ch) {其中有代码会去处理Accept事件 // Also check for readOps of 0 to workaround poss...

2018-04-05 11:34:55 1506

原创 我们在调用EventLoop.execute()方法时究竟做了一些什么工作

我们在研究注册过程中的源码可以看到这样的一段代码 eventLoop.execute(new Runnable() { @Override public void run() { register0(promi...

2018-04-04 17:35:07 1706 2

原创 Netty中的EventExecutorChooserFactory

我们在研究Netty对channel的注册实现时 ChannelFuture regFuture = config().group().register(channel);其中config()方法返回ServerBootstrapConfig对象,其中带有ServerBootstrap的引用。private final ServerBootstrapConfig config = new Serv...

2018-04-04 11:31:25 719

原创 Netty中的ChannelPipeline及其实现

下面是ChannelPipeline的java doc文档的部分介绍/** * A list of {@link ChannelHandler}s which handles or intercepts inbound events and outbound operations of a * {@link Channel}. {@link ChannelPipeline} implemen...

2018-04-03 17:40:57 597

Cesium 3dtile 转换工具集

支持osgb格式的倾斜影像数据以及gltf数据转换为Cesium可识别的3dtiles数据,对于Cesium1.5系列版本需要加上补丁才可以正常加载。可参考查看地址:https://www.jianshu.com/p/e0e0a62c5726 命令行: 3dtile.exe [FLAGS] [OPTIONS] --format --input --output 示例: 3dtile.exe -f osgb -i E:\Data\hgc -o E:\Data\hgc_test 3dtile.exe -f osgb -i E:\Data\dayanta -o E:\Data\dayanta_test -c "{\"offset\": 0}" 3dtile.exe -f shape -i E:\Data\aa.shp -o E:\Data\aa --height height 3dtile.exe -f gltf -i E:\Data\TT\001.osgb -o E:\Data\TT\001.glb 3dtile.exe -f gltf -i E:\Data\TT\001.obj -o E:\Data\TT\001.glb 3dtile.exe -f b3dm -i E:\Data\aa.b3dm -o E:\Data\aa.glb 参数说明: -c, --config { "x": 120, "y": 30, "offset": 0 , // 模型最低面地面距离 "max_lvl" : 20 // 处理切片模型到20级停止 } -f, --format -i, --input -o, --output --height, 指定shapefile的高度字段 (转shapefile时,必须参数)

2019-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除