从MapX到MapXtreme2004[12]-SearchNearest!

“/xy”应用程序中的服务器错误。

searchInfo.SearchResultProcessor must be null.

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.ArgumentException: searchInfo.SearchResultProcessor must be null.

源错误:

行 956: 行 957: Feature ftr2=MapInfo.Engine.Session.Current.Catalog.SearchForFeature("公交车站",si); 行 958: 行 959:

源文件: d:\xy\xy.aspx.cs    行: 957 

         当想用searchnearest时,总是报这个错误。而先前用searchwhere是好好的,于是折腾si,不断试验各种构造函数,还自定义了个SearchResultProcessor类,都不行,直到在帮助中看到这个:

Catalog.SearchForFeature Method (String, SearchInfo)

Searches the given table and returns the first Feature from the results.

public Feature SearchForFeature(
 string tableAlias,
 SearchInfo searchInfo
);

Parameters

tableAlias The alias of the table to search. searchInfo Search definition.

Return Value

Returns a Feature.

Remarks

The SearchInfo must not have a SearchResultProcessor specified, because no post-processing of search results can take place.  于是,增加一个       si.SearchResultProcessor=null;         便ok了,郁闷………… 结论:         1、searchnearest的si构造有两个类都可以,MapInfo.Data.SearchInfoFactory.SearchNearestMapInfo.Mapping.SearchInfoFactory.SearchNearest,似乎可以通用         2、The default columns are MI_Geometry, MI_Syle, MI_Key. An Analysis column of MI_Geometry is added.如果不指定的话,查出来的结果就只有3列,所以需要加上si.QueryDefinition.Columns = null;         3、A  ClosestSearchResultProcessor is created with the Search point.会自动生成一个SearchResultProcess对象。         4、This SearchInfo can't be passed to SearchForFeature or SearchReader because they do not work with SearchResultProcessors.最关键的,原来根本不能用在SearchForFeature中。因为这种搜索方式不能有SearchResultProcessors。如果强制删掉SearchResultProcessors,虽然不报错,但也查找不到东西。         5、只好用search     IResultSetFeatureCollection ftrs=MapInfo.Engine.Session.Current.Catalog.Search("公交车站",si);     foreach(Feature f in ftrs){  }

       6、无需(si.SearchResultProcessor as ClosestSearchResultProcessor).Options = ClosestSearchOptions.StopAtFirstMatch;因为这种查询会自动只查一条。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏一个会写诗的程序员的博客

《Kotlin极简教程》第2章 快速开始:HelloWorld

我们在本章将介绍使用Kotlin程序设计语言,分别使用命令行、应用程序、Web RESTFul、Android、Kotlin JavaScript等方式向世界问...

11630
来自专栏bboysoul

给你的linux电脑跑个分(unixbench)

第一次碰到unixbench是在看LinusTechTips视频的时候碰到的,那时候没有对这个软件产生兴趣,直到今天在看博客的时候又碰到了这个软件,所以想研究下...

34720
来自专栏开发与安全

linux系统编程之信号(二):一些信号发送函数和不同精度的睡眠

一、kill, raise, killpg 函数 int kill(pid_t pid, int sig); int raise(int sig); i...

22500
来自专栏xingoo, 一个梦想做发明家的程序员

漫谈Java IO之 Netty与NIO服务器

前面介绍了基本的网络模型以及IO与NIO,那么有了NIO来开发非阻塞服务器,大家就满足了吗?有了技术支持,就回去追求效率,因此就产生了很多NIO的框架对NIO...

44080
来自专栏技术墨客

Java数据校验详解

一个健壮的系统都要对外部提交的数据进行完整性、合法性的校验。即使开发一个不面对最终用户的工具包,也需要对传入的数据进行缜密的校验来防止引发底层难以追踪的问题。各...

29710
来自专栏ImportSource

Spring Boot下的TDD(测试驱动开发)

首先来看下TDD三原则吧: You are not allowed to write any production code unless it is to m...

2K110
来自专栏Android 研究

Android系统启动——4 zyogte进程 (C篇)

我们大家都是知道"一鼎三足"和"三角形的稳定性",那么支撑Android系统的三个"足"是什么?即init进程、SystemServer进程和Zygote进程。...

39310
来自专栏Spring相关

第2章—装配Bean—自动化装配Bean

CD和CDPlayer,如果你不将CD放入(注入)到播放器中,那么CD播放器其实是没多大用处的,所以说,CD播放器是依赖于CD才能完成它的使命.

8920
来自专栏分布式系统进阶

Librdkafka对Kafka Metadata的封装和操作

int rd_kafka_metadata_cache_wait_change (rd_kafka_t *rk, int timeout_ms) { int ...

32710
来自专栏美团技术团队

这个Spring高危漏洞,你修补了吗?

前言 2009年9月Spring 3.0 RC1发布后,Spring就引入了SpEL(Spring Expression Language)。对于开发者而言,引...

1.5K110

扫码关注云+社区

领取腾讯云代金券