Gis 如何按地理位置对Salesforce Lead进行排序/分组? P>如果在Salesforce中的所有线索都有LAT/LIN数据,有没有办法编写一个查询来对它们进行分组,或者说在旧金山、CA 10英里以内列出所有的引线?

Gis 如何按地理位置对Salesforce Lead进行排序/分组? P>如果在Salesforce中的所有线索都有LAT/LIN数据,有没有办法编写一个查询来对它们进行分组,或者说在旧金山、CA 10英里以内列出所有的引线?,gis,salesforce,Gis,Salesforce,[编辑:澄清] 我有数千条线索,包括完整地址和long/lats。 我想建立一个关于这些线索的查询,它将给我在旧金山附近的所有线索。这意味着在Salesforce中做GIS类型的工作。 当然,我可以专门针对城市、邮政编码或区号进行筛选,但在尝试汇总整个地铁区域时会出现一些问题。是的。您需要使用工具/服务对其进行反向地理编码。在过去,我使用过这项服务,但它是相当昂贵的,这是在谷歌地图和虚拟地球存在之前,所以我相信现在有一些更便宜(免费)的东西。。。。在谷歌上搜索,我找到了 编辑: 好的,据我所知,

[编辑:澄清] 我有数千条线索,包括完整地址和long/lats。 我想建立一个关于这些线索的查询,它将给我在旧金山附近的所有线索。这意味着在Salesforce中做GIS类型的工作。


当然,我可以专门针对城市、邮政编码或区号进行筛选,但在尝试汇总整个地铁区域时会出现一些问题。

是的。您需要使用工具/服务对其进行反向地理编码。在过去,我使用过这项服务,但它是相当昂贵的,这是在谷歌地图和虚拟地球存在之前,所以我相信现在有一些更便宜(免费)的东西。。。。在谷歌上搜索,我找到了

编辑:

好的,据我所知,您正试图计算2个横向/纵向点之间的距离。首先,我会打折那些超出你的范围(比方说)10英里的。所以从你的中心点,你会想要得到10英里的坐标,东,西,南,北。要做到这一点,您需要使用公式

从这一点开始,您就有了销售人员数据。如果您希望进一步细分此数据,则需要按距离中心点的距离对这些点进行排序。要做到这一点,您需要使用

我不确定您的语言偏好是什么,所以我只包括了一些来自SQL(主要是)和C的示例#


使用GeoHash.org(作为web服务或实现算法)。它将你的长坐标散列成一种类似于附近地方的形式。例如,A可能有一个类似于“akusDf3af”的散列,而B可能有一个类似于“akusDf3b2”的散列,如果它们在附近的话。然后执行SOQL查询,查找以与已知位置相同的n个字符开头的位置。您的n将决定查找的半径。

这些是一些伟大的技术解决方案,可以提供非常精确的答案,但需要考虑两件事:

  • 地理空间的邻近性并不能很好地反映责任
所有权计算似乎最好通过邮政编码查找或其他不允许空白或重叠的规则来完成。否则,你会有两个(或更多)销售人员为接近他们两人的潜在客户而争吵,而忽略远离他们两人的潜在客户

因此,如果您使用上述地理计算来分配所有权,只需承认系统会泄漏,并创建业务规则来适应。但是一个简单的邮政查询来定义地区(就像salesforce自己的功能一样)可能会更好

我认为我们试图从地理空间上解决的问题不是谁拥有哪一条线索。相反,考虑到你拥有的所有潜在客户,哪些在附近

  • 地图每像素提供的数据通常比柱状报告多
同样,报告中的地理空间数据可能不是最佳答案。50公里外的一条主要道路上的导线比50公里外山或湖的另一边的导线更有趣。或者,与其他潜在客户接近的潜在客户比单独的潜在客户更有趣

报告不能显示这一点,但地图可以

Salesforce有一些谷歌地图集成的好例子。与其写一篇名为“我的近邻线索”的专栏报告,不如写一个visualforce页面,里面有谷歌地图?您为用户提供的信息远远超过了专栏报告所能提供的信息。他们可能更喜欢它,而且它比试图计算上面的一些方程更容易实现


这只是另一个可能(也可能不)适合当前问题的观点。

这篇文章确实很老,但它显示在谷歌搜索结果的顶部,所以我想我无论如何都会向它发布一些信息

两个不错的映射工具是batchgeo.com和geocod.io。Geocod.io甚至可以从一个地址中提供纬度和经度坐标

如果您只需要一次性计算,可以使用Excel。使用lat和long导出所有潜在客户。然后转到谷歌地图,获取你想测量的城市中心的纬度和长纬度(十进制)

然后在excel中使用此公式计算坐标之间的距离(以英里为单位)。Lat1dd和Long1dd是一个点的坐标,lat2dd和long2dd是另一个点的坐标点

=3963*ACOS(COS(RADIANS(90-lat1dd))*COS(RADIANS(90-lat2dd))+SIN(RADIANS(90-lat1dd))*SIN(RADIANS(90-lat2dd))*COS(RADIANS(long1dd-long2dd)))
运行之后,只需将结果从最小值排序到最大值,即可得到最接近的结果

我还没有完成下一部分,但从概念上讲它应该可以工作。我们有一个字段,列出每个客户所处的主要市场。例如,芝加哥伊利诺伊州。我将构建一个触发器或公式字段,本质上说是IF(Market=“Chicago IL”),然后使用X和Y表示lat和long。这些将被硬编码为该特定市场的城市中心。然后,查询将运行每个帐户的lat和long,与来自市中心的lat和long进行比较,以计算距离

如果你想把市场分成不同的区域,你可以调整你的公式,使其在横向和纵向字段上使用<和>。小于X但大于Y的所有东西都进入A区,等等


希望这对其他人有所帮助。

假设我正在尝试在salesforce中构建一个查询,该查询将为我提供与logitude纬度表示的某个点之间一定距离内的所有潜在客户。它将使用我添加到每个salesforce lead中的字段,这些字段包含lead的经度/纬度。啊,是的,现在我们开始讨论一些问题。拼图的最后一块是。。。可以从Salesforce内部计算这些值吗?如中所示,我不想通过API更新我的所有潜在客户,以获得“距离”的新字段。是的,这些字段可以按照示例链接中所示进行计算。除非你想给我更多关于你想去abo的信息