GraphDB GeoSPARQL投影支持

时间:2018-03-10 00:32:37

标签: geospatial graphdb geosparql

我在使用非默认投影将数据加载到GraphDB时遇到了一些问题。

使用文档website中的示例文件,但将投影从CRS84更改为CRS83,导致在运行示例2(也来自网站)时未找到交叉点。 GraphDB是否支持使用不同的投影加载数据?如果是这样的话,为了让它起作用,我还需要做些什么吗?

如果我将投影保留为CRS84,一切都按预期工作。

这是我试图执行的查询:

addSources() {
  this.setState({
    sources: this.state.sources.concat(this.props.values.sourceIp)
  });
}

addDestinations() {
  const newDestIP = this.props.values.destinationIp;
  const oldDestinations = this.state.destinations2;
  const newDestinations = newDestIP.concat(oldDestinations);

  this.setState({
    destinations:[...this.state.destinations, newDestinations]
  });
}

shouldComponentUpdate(nextProps, nextState) {
  return true;
}

render() {
const { handleSubmit, onChange, values} = this.props;
return(
  <div>
    <form>
      <div>
        <div>
          <div style={chipsStyles}>
            <Chips ipList={this.state.sources} />
          </div>
          <Field name="sourceIp" component={TextField} 
          hintText='198.162.10.10' floatingLabelText='Source IP'/>
          <div><RaisedButton onClick=
          {this.addProtocolChips}>Add</RaisedButton></div>
        </div>
        <div>
          <div style={chipsStyles}>
            <Chips ipList={this.state.destinations} />
          </div>
          <Field name="destinationIp" component={TextField} 
          hintText='198.162.10.10' floatingLabelText='Destinatoin 
          IP'/>
          <div><RaisedButton onClick=
            {this.addDestinations}>Add</RaisedButton></div>
          </div>
       </form>
    </div>
  )
 }

1 个答案:

答案 0 :(得分:0)

首先,作为一名地理学家,“将CRS84的预测改为CRS83”可能是灾难性的。如果您只是将字符“4”更改为“3”,则表示您的数据已损坏。 (也许我误解了“改变”对你意味着什么)。

从CRS到另一个CRS的转变是一个涉及重投影的数学过程。只需更改CRS的名称就无法完成。

以下是了解两个坐标系之间的许多差异的链接:External documentation

最后,geof函数需要在同一个CRS中表达主题和对象。你知道这些预测是为了保持连贯性。如果您重新投影其中一个,则第二个也需要重新投影。这样可以保持数据/查询的一致性。