![]() | XVectorIO Class |
Namespace: Pixoneer.NXDL.NIO
public class XVectorIO : IDisposable
The XVectorIO type exposes the following members.
Name | Description | |
---|---|---|
![]() | Export | 표준 및 상용 포맷의 벡터 파일로 저장한다. |
![]() | GetDriverKey | 입력 인덱스에 의한 Driver Key를 반환한다. |
![]() | GetFiltersForLoad | XVectorIO객체로부터 로딩이 가능한 필터를 얻는다. 이 필터 String은 보통 Load Dialog Box에서 사용된다. |
![]() | GetFiltersForSave | XVectorIO객체로부터 저장이 가능한 필터를 얻는다. 이 필터 String은 보통 Save Dialog Box에서 사용된다. |
![]() | Initialize | XVectorIO객체를 초기화하고 IO Driver를 로딩한다. |
![]() | IsExtensionExportSupported | this객체가 Export기능에 대하여 입력되는 파일 타입을 지원하는지 여부를 채크한다.
|
![]() | IsExtensionImportSupported | this객체가 Import기능에 대하여 입력되는 파일 타입을 지원하는지 여부를 채크한다. |
![]() | IsKeyImportSupported | this객체가 입력되는 Key(예 : "DXF", "SHP" 등)에 대하여 지원 가능한지여부를 채크한다. |
![]() | LoadFile | 표준 및 상용 포맷의 벡터 파일을 로딩한다. |
using Pixoneer.NXDL; using Pixoneer.NXDL.NIO; using Pixoneer.NXDL.NRS; using Pixoneer.NXDL.NCC; using Pixoneer.NXDL.NFT; using Pixoneer.NXDL.NSCENE; //Create Vector IO Manager XVectorIO VectorIO = new XVectorIO(); String strError = ""; if (VectorIO.Initialize(out strError) == false) { return; } // Create spatial reference of input vector file. XSpatialReference srIn = new XSpatialReference(); srIn.importFromEPSG(40055); // Korea TM Central belt String strFilePathLoad = "D:\\Sample\\Vector_Sample\\sample.shp"; XftDataSource vectorDS = VectorIO.LoadFile(strFilePathLoad, out strError, ref srIn); // Create scene object to convert shape to scene file. XScene scene = new XScene(); // Convert feature data source to Scene object. String msg = ""; for (int k = 0; k < vectorDS.NumLayer; k++) { XftFeatureLayer layer = vectorDS.GetLayerAt(k); for (int j = 0; j < layer.NumFeature; j++) { XftFeature feature = layer.GetFeatureAt(j); XscObj obj = Xsc.Feature2SceneObj(feature); scene.AddNode(j, obj); int fieldcount = feature.NumField; for (int i = 0; i < fieldcount; i++) { string name = feature.GetFieldName(i); eFieldType type = feature.GetFieldType(i); if (obj.GetTypeName() == "XscPolygon") { XscPolygon scObj = (XscPolygon)obj; if (type == eFieldType.FieldReal) { string temp; double value = feature.GetFieldAsDouble(i); temp = name + " : " + value.ToString("f4") + "\n"; msg += temp; } else if (type == eFieldType.FieldString) { string temp; string value = feature.GetFieldAsString(i); // Do something.... } else if (type == eFieldType.FieldInteger) { string temp; int value = feature.GetFieldAsInteger(i); // Do something.... } else { // Do something.... } } else if (obj.GetTypeName() == "XscComplexPolygon") { } else if (obj.GetTypeName() == "XscPoint") { } } } } // Convert "Korea 2000 / Korea Central Belt" to "WGS84" XSpatialReference srOut = new XSpatialReference(); srOut.SetWellKnownGeogCS("WGS84"); scene.SR = srIn; XScene sceneConvert = XScene.Convert(scene, srOut); // Save WGS 84 Scene object string strExt = Path.GetExtension(strFilePathLoad); string strPath = strFilePathLoad.Substring(0, strFilePathLoad.Length - strExt.Length); strPath += ".sml"; XScene.SaveScene(sceneConvert, strPath, null);