... | | | | | | | | |

     
» Linux »  - Linux
: 1 2 .
RSS
, " "
 
.
" ". .
1. , " ". , , "" .
2. , " " , " ". ?
: - 01.12.2020 11:50:00
 
.
31002, .

.

(/ ), .
(IMLAPI), .

operator.rsc, dfc.rsc (), agro10t.rsc (), s57navy.rsc ( ) ..


SDK.zip \ Windows ( Linux) -
https://gisinfo.ru/download/?id=229

\shape\shape.sitx .
 
Oleg Belenkov, , , .
.
 
-
https://gisinfo.ru/classifiers/classifiers.htm

-
https://gistoolkit.ru/download/classifiers/nmroad25.pdf
https://gistoolkit.ru/download/classifiers/map5000mdoc.pdf



maptype.h
#define EXTSEMANTIC        31001  //    
#define SEMIMAGESCALE      31001  //     
#define SEMIMAGECOLOR      31002  //    RGB
#define SEMIMAGEHIGHT      31003  //    
#define SEMIMAGEFONT       31004  //  
#define SEMIMAGETHICK      31005  //    
#define SEMIMAGETHICK2     31006  //     
#define SEMCOLORWEIGHT     31007  //     
#define SEMLINETHICK       31008  //    
#define SEMLINECOLOR       31009  //   RGB
#define SEMLINEPATTERN     31010  //      MAPINFOW.PEN
                                  //  (1-255)
#define SEMMARKSIZE        31011  //      (1-48)

#define SEMMARKCOLOR       31012  //   RGB
#define SEMFONCOLOR        31013  //   RGB (SEMBACKCOLOR)

#define SEMMARKSHAPE       31014  //     
                                  // TRUETYPE  ( 31),
                                  //    SEMIMAGEFONT
#define SEMSQUAREPATTERN   31015  //      MAPINFOW.PEN
                                  // (1-255)
#define SEMFONTSTYLE       31016  //   ( :
                                  // 0 - , 1 - T, 16 -  ,
                                  // 32 -  , 256 -  )
#define SEMMARKANGLE       31017  //     

#define PRINTFIELDLEFT     31101  //    
#define PRINTFIELDRIGHT    31102  //    
#define PRINTFIELDTOP      31103  //    
#define PRINTFIELDBOTTOM   31104  //    

#define SEMLABELTEXT       31109  //   (  9   )

#define EXTSEMANTICEND     31109  //  

//      
// ------------------------------------------------------------------
#define ADRSEMANTIC        31201  //    
#define SEMADRSTREET       31201  //  
#define SEMADRHOUSE        31202  //  
#define SEMADRTRUNK        31203  //  
#define SEMADRBUILD        31204  //  
#define SEMADRESTATE       31205  //  
#define SEMADRSTREETCODE   31206  //  
#define SEMADRTOWN         31207  //   ( )
#define SEMADRTOWNCODE     31208  //   ( )  
#define SEMADRPOSTCODE     31209  //  
#define ADRSEMANTICEND     31209  //  

#define SEMLONWGS84         32201  //     WGS-84
#define SEMLATWGS84         32202  //     WGS-84
#define SEMPOINTDATE        32203  //    
#define SEMPOINTTIME        32204  //    
#define SEMXMETERS          32205  //  X  
#define SEMYMETERS          32206  //  Y  
#define SEMHMETERS          32207  //   H  
#define SEMLONSGS85GMS      32208  //      ,,  -90.11
#define SEMLATSGS85GMS      32209  //      ,,  -90.11
#define SEMLONWGS84GMS      32210  //      ,,  WGS-84
#define SEMLATWGS84GMS      32211  //      ,,  WGS-84
#define SEMVELOCITY         32212  //   /
#define SEMSATCOUNT         32213  //  

#define SEMDEPTHZERO        32767  //   ( - S57)

#define SEMDOCFILE          32768  //   
#define SEMIMAGEFILE        32769  //   - (     )
#define SEMMAPFILE          32770  //   
#define SEM3DVIEWFILE       32771  //    3D-
#define SEMVCLXMODEL        32772  //       VCLX 

#define SEMFIDS             32778  //   (S57)
#define SEMFIDN             32779  //   (S57)

//     !
#define SEMHIDEFIRST        32798  //    
#define SEMHIDELAST         32800  //     

//    
// ------------------------------------------------------------------
#define OBJECTDBID          32798  //     
#define OBJECTGUID          32799  //   GUID (ObjectGUID)
#define OBJEXCODEINSEMANTIC 32800  //   
#define SEMOBJEXCODE        32800  //   

#define GROUPLEADER         32801  //  ,  
#define SEMGROUPLEADER      32801  //   

#define GROUPSLAVE          32802  //  ,  
#define SEMGROUPSLAVE       32802  //     ;

#define GROUPPARTNER        32803  //  , 
#define SEMGROUPPARTNER     32803  //    

#define GROUPTEXT           32804  //     
#define SEMOBJECTTOTEXT     32804  // ( -    )
#define SEMOBJECTFROMTEXT   32805  //     
                                   // (      )

#define SEMOBJECTTOTEXTFAR  32806  //     
                                   // ( -   )
#define SEMOBJECTFROMTEXTFAR 32807 //     
                                   // (     )

#define SEMRSCNAME          32809  //    RSC
#define SEMLAYERSHORTNAME   32810  //    
#define SEMOBJECTSHORTNAME  32811  //    ()

//      
// ------------------------------------------------------------------
#define SEMNETRIB           32812  //  - ( )
#define SEMNETKNOTFIRST     32813  //  -   ( )
#define SEMNETKNOTLAST      32814  //  -   ( )
#define SEMNETNUMBER        32815  //  
#define SEMNETTOOBJECT      32816  //    
#define SEMNETVDIRECT       32817  //   ( )
#define SEMNETVUNDIRECT     32818  //   ( )
#define SEMNETCOSTRIB       32819  //  
#define SEMNETRANKRIB       32820  //  
#define SEMNETBAN           32821  //  ,     (     )
#define SEMNETTURN          32822  //    (1-  ,2- ,3-    )
#define SEMSELFID           32823  //    GDF
#define SEMNETCOSTRIBBACK   32824  //   
#define SEMNETRANKRIBBACK   32825  //   
#define SEMNETBANBEGIN      32826  //  ,       
#define SEMNETBANEND        32827  //  ,       
#define SEMNETINLIST        32828  //     
#define SEMNETNOMECLATURE   32829  //  

#define SEMOBJECTDATE       32850  //   
#define SEMOBJECTTIME       32851  //   
#define SEMOBJECTAUTHOR     32852  //  
#define SEMOBJECTREDATE     32853  //   
#define SEMOBJECTRETIME     32854  //   
#define SEMOBJECTREAUTHOR   32855  //   

//     !
#define SEMHIDEFIRST2       32850  //    
#define SEMHIDELAST2        32855  //     

#define SEMOBJECTIDENT      32856  //  
#define SEMOBJECTDESC       32857  //  
#define SEMABBREVIATIONS    32858  //  

#define SEMDATEFROM         32859  //    UTC,   "LONG"      
#define SEMLONGTEXT         32860  //   UTF-32  126 
#define SEMOBJECTCOMMENT    32861  //   

// DATUM PARAMETERS
#define SEMDATUMDX          32871  //   X
#define SEMDATUMDY          32872  //   Y
#define SEMDATUMDZ          32873  //   Z
#define SEMDATUMRX          32874  //   X
#define SEMDATUMRY          32875  //   Y
#define SEMDATUMRZ          32876  //   Z
#define SEMDATUMM           32877  //  
#define SEMDATUMTYPE        32878  //   (0, 3, 7, 14)
#define SEMSCALEFACTOR      32879  //    

// USER ELLIPSOID PARAMETERS
#define SEMUSELLAXIS        32880  // SEMIMAJORAXIS
#define SEMUSELLINFL        32881  // INVERSEFLATTENING

#define SEMCRSIDENT         32882  // CRS Ident (String)
#define SEMSHEETNAME        32883  //    (  )
#define SEMNOMENCLATURE     32884  //   
#define SEMMAINNAME         32885  //  
#define SEMDATAIDENT        32886  // GUID  
#define SEMSECURITY         50603  //   ( ,     )
#define SEMAREADATE         32888  //   
#define SEMSOURCETYPE       32889  //   

//    ,
//     
// ------------------------------------------------------------------
#define SEMTPTYPE           32890  //     (TRANSFORMTYPE)
#define SEMTPPARM1          32891  // 1-    
#define SEMTPPARM2          32892  // 2-    
#define SEMTPPARM3          32893  // 3-    
#define SEMTPPARM4          32894  // 4-    
#define SEMTPPARM5          32895  // 5-    
#define SEMTPPARM6          32896  // 6-    
#define SEMTPPARM7          32897  // 7-    
#define SEMTPPARM8          32898  // 8-    
#define SEMTPPARM9          32899  // 9-    
#define SEMTPPARM10         32900  // 10-    

#define SEMAPPNAME          32910  //  
#define SEMADMINID          32911  //   ()

#define SEMSERVICEFIRST     31001  //                    // 06/02/17 -> 32800
#define SEMSERVICELAST      33000  //     

#define SHEETFRAMEINCODE    15l       //    
#define SHEETFRAMEEXCODE    91000000l //    
 

, (RSC) .
, .
 
Oleg Belenkov :
(RSC)
operator.rsc, " ", 1300
 
, , .
, 2- . , :
1300 " " operator.rsc , .

:

mapGetRscSemanticClassificatorCount( hRsc, 1300)

( ):
mapGetRscSemanticClassificatorCode()

:
mapGetRscSemanticClassificatorName()


? , mapGetRscSemanticClassificatorName() - , .
-, long ?
1- , .
: - 01.12.2020 14:13:48
 
.

long, , :
mapAppendSemanticLong(objectHandle, 1300, 9);

mapGetRscSemanticClassificatorName(), unicode - mapGetRscSemanticClassificatorNameUn(). , , .
 
.
.
: (1100)

, - .

.

- , , .

, :

  //   ,     ,  
  //  ( )   ( 1)
  // incode -    (  )
  // hRsc   -   
  //    

_MAPIMP long _MAPAPI mapGetRscImageSemanticCount(HRSC hRsc,long int incode);

  //   ,   ,   
  // ( )       (c 1)
  // hRsc -   
  // incode -    (  )
  // number -  
  //    

_MAPIMP  long _MAPAPI mapGetRscImageSemanticCode(HRSC hRsc,long int incode, long int number);

, , iml-.

. sdk13.zip\imlapi\rscarmy\imlmain.cpp
 // -----------------------------------------------------------------
 //   ,    
 // type  -   ,   IMLLIST,
 // list  -        ,
 // count -  ,      
 //   ,    ,   ,
 //    ,      ,   
 //    
 // -----------------------------------------------------------------

_IMLIMP long int _IMLAPI imlCheckImageSemantic(long int type, const IMGDRAW * draw, long int code)
 {
   // 1100  
   // 1200   
   // 1201     (, , )
   // 1300   
   // 1400      - 
   // 1500     (,  )
   // 2200   
   // 2300   (1 -  , 2 -  , 3 - )
   // 3300  
   // 3400  
   // 3500   
   // 3600   " "
   // 4100   
   // 4400  
   // 5201     
   // 5202    
   // 5234    
   // 5253      
   // 5254    
   // 5255   
   // 5257     
   // 5426   
   // 11301  
   // 11302  
   // 11303   
   // 11304   (, )
   // 11401    (, , , ...)
   // 11521   
   // 11541   
   // 11542   
   // 20101   
   // 31001   
   // 31003  


   switch (type)
   {
    case IMG_MTEXT: // 11541, 5401, 11542, 5402, 31003, 31001, 11301, 11304
                 if ((code == 11541) || (code == 5401) || (code == 11542) || (code == 5402) ||
                     (code == 31003) || (code == 31001) || (code == 11301) || (code == 11304))
                   return 1;
                 return 0;

    case IMG_CTRLPOINT:
                 break;
   }

   if ((code == 1100) || (code == 1300))
     return 1;

   switch (type)
   {
     case IMG_FRONTLINEOLD :
     case IMG_FRONTLINE :
                 break;

    case IMG_DISTRICT :  // 1200, 1400, #5
    case IMG_POSITION :
                 if (imlCheckImageSemantic(5, 0, draw, code))
                   return 1;
                 if ((code == 1200) || (code == 1400))
                   return 1;
                 return 0;

    case IMG_ATTACKDIRECTION : // 1200
                 if (code == 1200)
                   return 1;
                 return 0;
 
,,
 
Oleg Belenkov,


mapGetRscImageSemanticCount() 0 , , .
, operator.rsc:
256000038 - , 1100 1300. mapGetRscImageSemanticCount() 0.
112020410 - , 1100 1300. .

:

    long excode = 256000038;
    long local = LOCAL_VECTOR;
    int cnt = mapGetRscObjectsCount( hRsc, excode, local );
    if( cnt )
    {
        long incode = mapGetRscObjectCodeByNumber( hRsc, excode, local, 1 );
        long semCount = mapGetRscImageSemanticCount( hRsc, realIncode );
    }
: hRsc - , , . excode local RSCOBJECT.

, "" 1300 1100 "",
" , 0 ". , .

, .
: 1 2 .
(: 1)



© , 1991-2021

,