2010-11-11 28 views
2

我對GIS的世界還很陌生,請耐心等待。將兩個數據域插入到PostGis中的單個數據域中,這兩個數據域是相同的投影

我在PostGis中的ESTR89/UTM 32N/SRID 25832列有一個單一的數據字段。例如。值爲0101000020E8640000C573D4301A122641113FF122C5965741

我正在針對web服務來導入新數據,但我的數據供應商有兩列。例如。與6174030,866值和724162,419

的問題是Web服務的規範也表示,其兩列ESTR89/UTM 32N/SRID 25832.

我有點難倒就如何我將爲PostGIS創建一個INSERT語句,該語句將兩列合併或轉換爲單列‐,當然如果我遺漏或誤解了這一點。

我一直在尋找st_transform,但我似乎無法得到這個處理。 PostGIS信息:「POSTGIS =」1.3.3「GEOS =」3.0.0-CAPI-1.4.1「PROJ =」Rel。 4.6.0,2007年12月21日「USE_STATS」

任何提示或向正確的方向微調將是很好的。 ;-)

回答

1

如果我理解你的問題是正確的,你想要做的是從x和y座標開始一個點,並用點列在你的表中插入該點。

所以你做什麼,是你創建這樣st_makepoint點,假設X座標xfld領域和y的場座標yfld在導入表: st_makepoint(xfld,yfld)

/尼克拉斯

+0

我設法弄清楚這個之前,我看到您的帖子: SELECT st_geomfromtext( 'POINT(6174030.866 724162.419)',25832)//返回 「0101000020E8640000448B6CB7538D5741022B87D684192641」 但你正在做的事情simlilar : SELECT st_makepoint(6174030.866,724162.419)//返回「0101000000448B6CB7538D5741022B87D684192641」 它返回一個geom,上面的那個讓我控制使用哪個投影。 :-) – CodeReaper 2010-11-12 12:14:51

+1

是的,你是對的。 geomfromtext可以讓你指定點的srid。與st_makepoint你需要使用st_sets來指定它。在你的情況下使用st_makepopint的親是你必須構造wkt字符串,如果使用geomfromtext類似:st_geomfromtext(POINT('|| xfld ||''|| yfld ||')',25832)。另一種選擇是st_sets(st_makepoint(xfld,yfld),258323) – 2010-11-13 09:24:40

相關問題