根据传入参数自动构造适配SDE、FileGDB、PGDB、Shapefile的查询语句

基于SharpMap的HeatLayer调用和封装源码 基于SharpMap的HeatLayer调用和封装源码。不包含SharpMap.DLL和SharpMap.HeatLayer.DLL 立即下载

传入参数中为查询条件,根据目标数据库的类型,构造与其对应的查询语句,主要是针对时间格式进行特殊处理,如下:

    /// <summary>
    /// Where条件语句
    /// </summary>
    public class WhereCondition
    {
        /// <summary>
        /// 起始时间
        /// </summary>
        [JsonProperty("from", NullValueHandling = NullValueHandling.Ignore)]
        [JsonConverter(typeof(CustomizedDateTimeConverer))]
        public DateTime FromTime { get; set; }

        /// <summary>
        /// 终止时间
        /// </summary>
        [JsonProperty("to", NullValueHandling = NullValueHandling.Ignore)]
        [JsonConverter(typeof(CustomizedDateTimeConverer))]

        public DateTime ToTime { get; set; }

        /// <summary>
        /// 案件号
        /// </summary>
        [JsonProperty("docunid", NullValueHandling = NullValueHandling.Ignore)]
        public string DocUnid { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        [JsonProperty("xmmc", NullValueHandling = NullValueHandling.Ignore)]
        public string ProjectName { get; set; }
        /// <summary>
        /// 权利人
        /// </summary>
        [JsonProperty("qlr", NullValueHandling = NullValueHandling.Ignore)]
        public string Owner { get; set; }

        public string ToWhereClause(WorkspaceType t)
        {
            Func<WorkspaceType, DateTime, string> FormatDateTime = (wsType, dateTime) =>
                {
                    string result = "";
                    switch (wsType)
                    {
                        case WorkspaceType.Unknown:
                            break;
                        case WorkspaceType.SpatialDatabaseEngine:
                            result = string.Format("TO_DATE('{0}','YYYY-MM-DD HH24:MI:SS')", dateTime);
                            break;
                        case WorkspaceType.PersonalGeodatabase:
                            result = string.Format("#{0}#", dateTime.ToString("MM-dd-yyyy HH:mm:ss"));
                            break;
                        case WorkspaceType.FileGeodatabase:
                            result = string.Format("date '{0}'", dateTime.ToString("yyyy-MM-dd HH:mm:ss"));
                            break;
                        case WorkspaceType.Shapefile:
                            result = string.Format("date '{0} 00:00:00'", dateTime.ToString("yyyy-MM-dd"));
                            break;
                        default:
                            break;
                    }
                    return result;
                };

            Func<WorkspaceType, string, string> FormatFieldName = (wsType, fieldName) =>
                {
                    string result = fieldName;
                    if (string.IsNullOrEmpty(fieldName))
                        return result;
                    switch (wsType)
                    {
                        case WorkspaceType.Unknown:
                            break;
                        case WorkspaceType.SpatialDatabaseEngine:
                            result = fieldName;
                            break;
                        case WorkspaceType.PersonalGeodatabase:
                            result = string.Format("[{0}]", fieldName.ToUpper());
                            break;
                        case WorkspaceType.FileGeodatabase:
                            result = fieldName;
                            break;
                        case WorkspaceType.Shapefile:
                            result = string.Format("\"{0}\"", fieldName.ToUpper());
                            break;
                        default:
                            break;
                    }
                    return result;
                };

            string s = "";
            List<string> ls = new List<string>();
            if (FromTime < ToTime)
            {
                ls.Add(string.Format("{0} >= {1}", FormatFieldName(t, "FROMTIME"), FormatDateTime(t, FromTime)));
                ls.Add(string.Format("{0} <= {1}", FormatFieldName(t, "TOTIME"), FormatDateTime(t, ToTime)));
            }

            if (!string.IsNullOrEmpty(DocUnid))
                ls.Add(string.Format("{0} = '{1}'", FormatFieldName(t, "DOCUNID"), DocUnid));
            if (!string.IsNullOrEmpty(ProjectName))
                ls.Add(string.Format("{0} = '{1}'", FormatFieldName(t, "XMMC"), ProjectName));
            if (!string.IsNullOrEmpty(Owner))
                ls.Add(string.Format("{0} = '{1}'", FormatFieldName(t, "QLR"), Owner));
            int nCount = ls.Count;
            if (1 == nCount && !string.IsNullOrEmpty(ls[0]))
                s = ls[0];
            else if(1<nCount)
                s = string.Join(" AND ", ls.ToArray());
            return s;
        }
    }

 

具有PWM控制VSC-HVDC链路的IEEE30总线传输系统(Simulink仿真实现) 内容概要:本文构建了一个包含PWM控制VSC-HVDC链路的IEEE30节点电力传输系统,并基于Simulink平台完成了系统的建模仿真。该模型聚焦于高压直流输电(HVDC)技术在区域电网互联中的应用,采用电压源型换流器(VSC)与脉宽调制(PWM)技术实现高效、灵活的电能传输。研究重点在于分析VSC-HVDC链路在复杂多节点电网中对潮流分布、系统稳定性及电能质量的调控能力,特别关注其在区域电网互联、新能源大规模接入以及跨区域电力交换等场景下的动态响应特性与控制性能,为现代智能电网的发展提供技术支撑与仿真验证手段。; 适合人群:具备电力系统、电气工程或自动化等相关专业背景的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于研究VSC-HVDC在多节点电网(如IEEE30节点)中的建模与仿真方法;②分析PWM控制策略下HVDC链路对电网潮流分布、电压稳定性和故障穿越能力的影响;③为区域电网互联、新能源并网及智能电网调度等课题提供仿真基础和技术验证。; 阅读建议:此资源以Simulink仿真实现为核心,建议读者在掌握电力电子技术和电力系统分析基础知识的前提下,结合仿真模型深入理解VSC-HVDC的工作原理与控制策略。在学习过程中,应着重关注模型参数设置、控制环路设计及仿真结果的分析,以达到理论与实践相结合的目的。 立即下载

相关推荐

tewa-707e光猫超级密码获取方法

这款光猫很魔性,没有WIFI,没有USB接口,没有Telnet,试了很多方法去获取超级密码都不行。解密时可能会报错,可能是文件后面部分不晓得是咋拼接过来的,用AES解密时分组数据有问题。3、这个文件是用AES加密了的,直接打开是乱码,所以得用AES解密,key为16个字节的 x00。打开解出来的文件,然后搜索 telecomadmin,就可以发现超级密码了。参考资料里面的光猫不是同一款,但解密的方法基本相同的。

shaowl111的专栏 1万+

Json序列化

当对一个对象进行json序列化的时候,如果某一个字段的值为null值,但是不想对他进行序列化,那么进行一下设置即可解决:[JsonProperty(NullValueHandling=NullValueHandling.Ignore),DefalutValueHandling=DefaultValueHandling.Ignore]public string Name{get;set;}

莫逍遥的专栏 722

YOLOv5s模型训练全流程解析:从数据准备到实战检测

本文详细解析了YOLOv5s模型训练的全流程,涵盖从环境搭建、数据准备与格式转换,到模型训练、参数调优及实战检测的完整步骤。文章提供了具体的代码示例和常见问题解决方案,旨在帮助开发者,特别是新手,高效掌握YOLOv5s模型训练的核心技术,并成功应用于实际检测任务中。

weixin_29041767的博客 335

C#Json JsonProperty 常用属性

public class testdatalistEntity { [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] public long? id { get; set; } [JsonProperty(NullValueHandlin...

huazaizuiaiw的专栏 9998

重磅!AI实时读取总结微信聊天记录,附MCP协议+智能体配置教程!

【摘要】本文介绍了一套AI实时分析微信聊天记录的解决方案,通过Chatlog+Trae+MCP协议实现智能整理群聊信息。Chatlog作为开源工具本地解析微信数据,确保隐私安全;Trae提供AI分析能力,支持自然语言处理。操作步骤包括:1)下载运行Chatlog并启动HTTP服务;2)安装Trae配置MCP协议;3)创建智能体设置提示词。该方案虽需初始配置,但能有效解决群聊信息过载问题,自动提炼关键内容,避免有价值信息被淹没。文中提供了详细教程链接和网盘资源。

puyihuan的博客 1万+

FunASR语音识别服务在Win11上的Docker部署避坑指南:模型配置与热词优化

本文详细介绍了在Windows 11系统上通过Docker部署FunASR语音识别服务的完整流程,包括环境准备、模型配置、热词优化及常见问题解决方案。特别针对Win11环境下的特殊配置和性能调优提供了实用指南,帮助开发者高效搭建高性能语音识别服务。

e3f4g5的博客 223

Json简略用法,

提醒一下:要把jobject值转换为对应的类,用以下方式 JObject ja = (JObject)JsonConvert.DeserializeObject(xx);//xx为string格式的json数据 FaceDeteClass result1 = ja.ToObject&lt;FaceDeteClass&gt;();//FaceDeteClas...

chise_ 259

基于STM32F103C8T6的红外循迹避障小车

编程思路:控制核心板IO口的电平(即电机驱动模块的AIN1,AIN2,BIN1,BIN2)从而控制AO1、AO2、BO1、BO2的电平高低,进而控制电机使其正转、反转、不转。由于单纯地拉高拉低电平只能让电机在转与不转的状态切换,故决定利用TIM4的两个通道分别产生两路PWM信号来控制电机速度,四个电机两个一组,同一侧的两个连接在同一个PWM上。(#include "dianji.h"文件中同时写了对循迹模块引脚的初始化)

weixin_48743503的博客 1万+

使用Json.NET来序列化所需的数据

我们在做开发的时候,很多时候需要和Json数据格式打交道,如Web开发里面,很多时候,数据通过Json进行传递到页面上,然后在进行处理的。而使用Json的时候,我们很多时候会涉及到几个序列化对象的使用:DataContractJsonSerializer,JavaScriptSerializer 和 Json.NET。大多数人都会选择性能以及通用性较好Json.NET,这个不是微软的类库,但是一个...

weixin_34144848的博客 177

PCB Layout总结

PCB Layout作为硬件设计中的一个环节,也是很重要的一个环节;在硬件电路设计合理的情况下,他其实是影响性能的一个绝对重要的指标。现在很多的PCB Layout工程师都是按照硬件工程师或者PI SI工程师给出的约束规则来完成布局布线的,这些也就是俗称的 “拉线工”。他们重复而机械的完成一块块PCB设计,一段时间设计后,他们中的一些或许已经有了这样的一些经验:哪些要做等长,哪些要走粗、哪些要平...

xydlxd118的博客 2583

ESP32与BH1750光照传感器结合使用的Web服务器案例

请注意,为了使代码正常工作,你需要将代码中的"你的WiFi网络名称"和"你的WiFi网络密码"替换为你自己的WiFi网络凭据。在代码中,我们首先导入了所需的库文件,包括Wire库用于I2C通信,BH1750库用于与光照传感器通信,WiFi库和WebServer库用于创建Web服务器。接下来,我们将编写一个Arduino代码来控制ESP32与BH1750的通信,并将读取到的光照强度值显示在Web服务器上。函数用于处理根路径的请求,其中我们读取光照传感器的值,并将其显示在返回的HTML页面中。

server_api196的博客 619

Newtonsoft.Json高级用法

  手机端应用讲究速度快,体验好。刚好手头上的一个项目服务端接口有性能问题,需要进行优化。在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数据,经过分析一个简单的列表接口每一行数据返回了16个字段,但是手机APP端只用到了其中7个字段,剩余9个字段的数据全部都是多余的,如果接口返回数据为40K大小,也就是说大约20K的数据为无效数...

weixin_33805992的博客 724

ASProxy64.dll导致jetbrains家的IDE都无法打开。

摘要:在Windows11系统中,JetBrains IDE无法启动,报错指向ASProxy64.dll文件。该第三方DLL被注入到JVM原生层,导致内存访问冲突(错误代码0xc0000005)。经排查发现此文件来自Astrill软件。解决方案为卸载Astrill后重启电脑,问题得以解决。该案例表明第三方DLL注入可能影响IDE正常运行,卸载相关软件是最直接的解决方法。(149字)

猿小白的博客 940

C# 返回Json数据格式忽略实体类空值属性

1、创建ASP.NET Web应用程序,项目结构如图: 2、连接MySQL数据库 ①、在Web.config加入连接数据的的配置 <connectionStrings> <add name="db" connectionString="Server=localhost;Database=studentdb;Uid=root;Pwd=root;charset=utf8...

记录工作开发中遇到的技术难点,方便自己查看,也希望可以帮助到他人... 5244

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

JSON使用DefaultValueHandling与NullValueHandling 不序列化属性的默认值与null

1.首先创建一个Person对象,对属性不赋值. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace JSONDemo { public class Person { private decimal? _s

lovegonghui的专栏 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Json解析问题-JsonIgnore和JsonProperty

场景: 实体类某些字段不想返回给客户端,我们就可以使用@JsonIgnore注解,如: 这样改字段就不会返回了,但这样存在一种隐形隐患,如你从另一个服务获取数据,然后json解析用此实例接收,该注解也会导致对应的字段信息接收不到,那么该如何兼容解决呢? 解决方法如下: 在对应字段的get方法上加@JsonIgnore,则返回给客户端时则不会序列号该字段,即不会显示该字段信息; 在...

SeaSky_Steven的博客 693

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

.NET Core 处理 WebAPI JSON 返回烦人的null为空

前言 项目开发中不管是前台还是后台都会遇到烦人的null,数据库表中字段允许空值,则代码实体类中对应的字段类型为可空类型Nullable<>,如int?,DateTime?,null值字段序列化返回的值都为null,前台对应字段赋值需要做null值判断,怎么才能全局把null替换为空。 本文分享WebAPI接口服务统一返回null替换为空的方法。 一、分析问题 .NET Core中使用Newtonsoft.Json进行序列化,WebAPI接口返回格式通过Startup.c

qq_57222058的博客 1244

要素类(IFeatureClass)与EsriJson互转

public static bool ConvertFeatureClassToJson(IFeatureClass pFC,out string json,out Exception error) { error = null; json = string.Empty; try { ESRI.ArcGIS.Geodatabase.IRecord...

wang2543311的博客 599

GIS开发常见bug汇总(持续更新)

文章目录问题:空间查询时,如果每个层级都查询一遍,效率很差且极其耗费资源;问题:gdb数据库无法进行SQL的嵌套查询,会报错:问题:通配符%不适用于mdb格式数据源,导致模糊查询时设置的删选条件无效,进而导致查询游标被置空;问题:CreatField算法要求使用下拉选择输入要素问题:输入int类型时模型识别为string类型,从而在初始化时候报错问题:任务返回了false,但未记录错误问题:在gdb很大时,计算总记录数算法的计算时间过于长(>20min),需要优化问题:使用IGpValueTableO

你微笑时好美丶的博客 1737

ArcGIS Engine中 IGeometry和Json字符串的相互转换

环境:ArcGIS 10 说明: 将 ESRI.ArcGIS.Geometry.IGeometry转换成Json字符串,搜索网上很多都是字符串拼接的,偶然发现有现成的类可以转换,主要使用ESRI.ArcGIS.Geometry.JSONConverterGeometryClass、ESRI.ArcGIS.esriSystem.IJSONWriter、ESRI.ArcGIS.esriSystem

jamessunshine的专栏 5780

NewtonSoft.JSON官方手册中文版(整理)

原资料地址:https://www.newtonsoft.com/json/help/html/Introduction.htm 资料来源优快云—樊潇洁 代码块只是为了好看可以忽略 NewtonSoft.JSON的特色 世界级的JSON序列化器 利用Json.NET的强大的JSON序列化器来序列化和反序列化任何.NET对象 LINQ to JSON 使用Json.NET的JObject、JArray和JValue对象创建、解析、查询和修改JSON。 JSON路径 利用某个类似XPath的语法来查询JSON

qq_41793286的博客 9414

GIS前端将选中的图形输出为Shapfile文件

老师让我实现如题的功能,我对着ArcGISjsapi找了半天,没有发现该方法接口,找了很多资料,前后问了三个前辈。 第一个前辈说用GP服务,我在ArcMap的工具箱里找到converttolayerfile这个功能,试过之后。发现该方法的不足之处在于①只能输出整张图层,我希望能选择任意的部分输出②发布成GP服务后,只能控制输入参数(输入的图层),而输出参数(输出的文件名)不能控...

auogrxaiq65350209的博客 479

空间数据shp md gdb用sde连接

1、必须知道sqlserver的管理员账户密码,或者能够远程操作服务器(为了能够使用windows登录管理员身份) 2、arcgis工具箱 3、 4、成功 5、导数据,先用arcgis 连接,然后import

wk2133的博客 817

JsonConvert引用及命名空间

1.引用文件:程序集-json.net 2.using Newtonsoft.Json

simpleshao的博客 1万+
上一篇: MFC中分割字符串
下一篇: Oracle导入dmp文件提示标头验证失败
acngiser
博客等级 码龄15年 118粉丝 214原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值