卡西卡的小寶庫
寶庫寶庫寶庫
Showing posts with label GIS. Show all posts
Showing posts with label GIS. Show all posts

ArcIMS - GET_FEATURES

Posted In: , . By 卡西卡

  •  GET_FEATURES 只能對Query, Feature, ArcMap 這3種Server送出。
  • 送出的Request編碼要設為big5才不會有中文亂碼。不能用UTF-8。

送出

  • LAYER:指定要查那一層
  • SPATIALQUERY:查詢條件
    • subfields:回傳的欄位,用空格分隔(如:ST_CODE ST_NAME)
      #ALL#, #SHAPE#
    • where:條件。<>符號要先編碼

回傳

 


GET_FEATURES
  • outputmode (binary, xml, newxml)
    binary表示傳及收都是compressed binary stream。
    newxml回傳型式如上面的例子。
    xml會傳回簡短型式的資料
    <FEATURE><FIELDS STCODE="466880" STNAME="板橋" /></FEATURE>
  • 加上featurelimit可以限制回傳的資料筆數
  • 加上beginrecord可以指定從第幾筆資料開始回傳。
  • 加上skipfeatures,true表示不傳細項,只回傳有幾筆資料。

subfields

  • #ALL#會回傳所有欄位。
  • 加上 #SHAPE# ,如:"#SHAPE# STCODE STNAME,會回傳:
    <FEATURE>
    <FIELDS>
    <FIELD name="STCODE" value="466900" />
    <FIELD name="STNAME" value="淡水" />
    <FIELD name="#SHAPE#" value="[Geometry]" />
    </FIELDS>
    <MULTIPOINT>
    <POINT x="293512.984729649" y="2784394.69179442"/>
    </MULTIPOINT>

    </FEATURE>

 

參考資料:

 

ArcIMS - GET_IMAGE

Posted In: , . By 卡西卡

.NET Link, ArcXML

相關DLL

  • ESRI.ArcIMS.Server.dll
  • ESRI.ArcIMS.Server.TCP.dll

重點在於將圖檔大小和地圖範圍填入XML中傳給ArcIMS Server,並解析回傳的結果。

送出

接收

參考資料:

http://gis.ascc.net/ISTIS/tools.html

 

GIS 座標轉換

Posted In: . By 卡西卡

http://jidanni.org/geo/taiwan_datums/

現代台灣地圖只會出現以下兩種座標:

  1. TWD67
    經緯度 longitude/latitude
    二度分帶 2-degree transverse Mercator
  2. TWD97/WGS84
    經緯度 longitude/latitude
    二度分帶 2-degree transverse Mercator

理想狀況是:圖資內含標示4種坐標,以便使用
現實情況是:大多數只標示1、2種,甚至完全沒有。

http://www.mobile01.com/topicdetail.php?f=130&t=374120

  • TWD67、TWD97是2種不同的橢球,具有不同的幾何因子
    所以在真實世界中的同一地點,會因為選用來標示的橢球不同
    而具有不同的經緯度、坐標。
  • 2度分帶是台灣地區使用的坐標投影方式之一
    將橢球坐標(經緯度)利用橫麥卡托投影投影到一平面上
    得到平面坐標 N (North)、E (East) (或 Y、X)。
淡水 121°26' 24" E 25°09' 56" N
經緯度 121.44 25.16555556
TM2 293512.984728072 2784394.69228671
Google Map , 台灣電子地圖服務網  跑到淡水河裡了 =.=a
  • 度=度+分/60+秒/3600
  • Google Earth只採用WGS 84的經緯度資料 [資料來源]
  • TM2之座標原點:X軸在121°E向西平移250000公尺,Y軸在赤道。
    293512是(距121°E 以東)(250-293)43公里又512公尺
    2784394是(距赤道)2784公里又394公尺
  • TWD67 與 TWD97 座標概略換算公式:
    TWD67 橫座標 = TWD97 橫座標 - 828 公尺
    TWD67 縱座標 = TWD97 縱座標 + 207 公尺

.NET 的座標轉換Library: OGL - Open GPS / LBS library

using OGL_Library;

GPSDatum g = new GPSDatum();
//Analysys
string[] s1 = g.ReturnAnalysisLongitude(Long);
// Long s1[0]=度,s1[1]=分, s1[2]=秒
string[] s2 = g.ReturnAnalysisLatitude(Lat);
// Lat s2[0]=度,s2[1]=分, s2[2]=秒

// result

string[] sx = g.WGS84toTM2(Long,Lat);
// TM2 sx[0]=TM2_X, sx[1]=TM2_Y

延伸閱讀:


CSV轉成SHP檔的小工具 xy2shp

  • CSV檔內不能有名為“ID”的欄位,會和產出的檔案衝突,而無法加入layer。
  • 載入CSV檔後指定XY的欄位,再按「Convert to Shp + KML File (WGS84 coordinate required)」
  • 會產出 .dbf, .kml, .shp, .shx四個檔案。