6

如果GeoShape页面包含示例或单独的属性被分解而不仅仅是文本,那就太好了。

我对 circle 属性特别感兴趣。我想从诺丁汉市中心(52.953,-1.149)定义一个半径为 20 英里(~ 32 公里)的圆。

<!DOCTYPE html>
<html>
<head>
<title>Nottingham City Neighbourhood</title>
</head>
<body>
<div itemscope itemtype="http://schema.org/Place">
  <div itemprop="geo" itemscope itemtype="http://schema.org/GeoShape">
    <meta itemprop="circle" content="52.953 -1.149 32186.88"/>
  </div>
</div>
</body>
</html>

丰富的代码片段工具确实会挑选出数据,但我不相信我使用了正确的格式。特别是因为解析的经度是正数。

> The following structured data is viewable only in the XML results view
> in Custom Search. More information.
> 
> geoshape (source = MICRODATA)  circle = 52.953 -1.149 32186.88 
> 
> 
> The following structured data can be used to filter search results in
> Custom Search. More information.
> 
> more:pagemap:geoshape more:pagemap:geoshape-circle
> more:pagemap:geoshape-circle:1.149
> more:pagemap:geoshape-circle:32186.88
> more:pagemap:geoshape-circle:52.953
> more:pagemap:geoshape-circle:52.953_

至于其他的,我认为方块和多边形的格式都是“$lat1,$long1 $lat2,$long2 $lat3,$long3 $lat1,$long1”的正方形。

有人有明确的答案或理由吗?

4

3 回答 3

3

我做了一些考古学,跟其他人类似。

详情: http: //lists.w3.org/Archives/Public/public-vocabs/2012Jun/0116.html

复杂的混淆似乎是(正如 Yves Martin 指出的)原始 rNews 示例中缺少空格。

我们会改善这种情况,我会在这里报告。

于 2012-06-21T17:34:51.527 回答
3

验证

您提供的示例(在您问题的第一个版本中)未通过http://validator.nu/的验证。您不能直接在声明实体类型的同一节点中使用属性。可能丰富的代码片段工具不够严格。为了确认,这个替代工具也拒绝从您的块中生成 JSON 表达式,因为缺少顶级元素。

因此,该属性需要一个额外的节点geo,这是一种正确的表达方式(doctype 和 title 仅用于验证工具):

<!DOCTYPE html>
<title>Nottingham City Neighbourhood</title>
<div class="hidden" itemscope itemtype="http://schema.org/GeoShape">
  <div itemprop="geo">
    <meta itemprop="circle" content="52.953 -1.149 32186.88"/>
  </div>
</div>

推荐

根据这个谷歌常见问题解答,只有少数实体真正得到支持,并且基于微数据格式的组织事件geo示例,可选属性仅建议longitude和来自http://schema.org/GeoCoordinateslatitude的元素。因此,与 相比,使用这个简单的定义毫无疑问。顺便说一下,这个例子是有效的并且被正确提取:circle

<div itemscope itemtype="http://data-vocabulary.org/Organization"> 
    <span itemprop="name">Nottingham City Neighbourhood</span>
    <div itemprop="geo">
      <meta itemprop="circle" content="52.953 -1.149 32186.88"/>
    </div>
</div>

如果您使用sindice.com,则没有命中,http://schema.org/GeoShapehttp://schema.org/GeoCoordinates被广泛使用。很难找到circle.

Circle 属性值

对于 circle 属性内容本身,许多文档引用WGS84但它只涉及点。本文档确认circle元素的内容文本结构。

rNews的这个示例显然在 500 半径之前缺少一个空格并且没有正确呈现,页面源包含<td class="rnews_td codestyle">38.920952 -94.645443500</td>而不是<td class="rnews_td codestyle">38.920952 -94.645443 500</td>

您应该查看模式生成器或解析器。也许其中一个已经为 GeoShape 属性实现了细粒度编辑器,而不是原始文本字段,以便您可以确认属性内容结构。我看过Any23但仍然是同样的问题:GeoCoordinates 已实现,但没有 GeoShape。

框和多边形属性值

根据rNewsGeoRSS,点、框、多边形或线(仅使用空间)的经度和纬度值之间不会出现彗差。

作为结论,如果您的目标是为搜索引擎提供位置,则应该避免GeoShape......目前,这GeoCoordinates似乎是一个合理的选择。

于 2012-05-05T23:03:23.827 回答
0

根据 W3.org 上的讨论, GeoShape Box的示例值为:

38.920952 -94.645443 38.951797 -94.680439

这些值导致此处映射的区域。

架构中所述,它们只需要是框角的唯一值(例如“latmin latmax lonmin lonmax”):

多边形是由起点和终点相同的点对点路径包围的区域。多边形表示为一系列四个或更多间隔点,其中第一个点和最后一个点相同。

于 2012-10-11T08:10:40.277 回答