亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? shape2ogr.cpp

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
/*      Write "shape" with no geometry.                                 *//* ==================================================================== */    if( poGeom == NULL )    {        SHPObject       *psShape;        psShape = SHPCreateSimpleObject( SHPT_NULL, 0, NULL, NULL, NULL );        SHPWriteObject( hSHP, iShape, psShape );        SHPDestroyObject( psShape );    }/* ==================================================================== *//*      Write point geometry.                                           *//* ==================================================================== */    else if( hSHP->nShapeType == SHPT_POINT             || hSHP->nShapeType == SHPT_POINTM             || hSHP->nShapeType == SHPT_POINTZ )    {        SHPObject       *psShape;        OGRPoint        *poPoint = (OGRPoint *) poGeom;        double          dfX, dfY, dfZ = 0;        if( poGeom->getGeometryType() != wkbPoint            && poGeom->getGeometryType() != wkbPoint25D )                {            CPLError( CE_Failure, CPLE_AppDefined,                      "Attempt to write non-point (%s) geometry to"                      " point shapefile.",                      poGeom->getGeometryName() );            return OGRERR_UNSUPPORTED_GEOMETRY_TYPE;        }        dfX = poPoint->getX();        dfY = poPoint->getY();        dfZ = poPoint->getZ();                psShape = SHPCreateSimpleObject( hSHP->nShapeType, 1,                                         &dfX, &dfY, &dfZ );        SHPWriteObject( hSHP, iShape, psShape );        SHPDestroyObject( psShape );    }/* ==================================================================== *//*      MultiPoint.                                                     *//* ==================================================================== */    else if( hSHP->nShapeType == SHPT_MULTIPOINT             || hSHP->nShapeType == SHPT_MULTIPOINTM             || hSHP->nShapeType == SHPT_MULTIPOINTZ )    {        OGRMultiPoint   *poMP = (OGRMultiPoint *) poGeom;        double          *padfX, *padfY, *padfZ;        int             iPoint;        SHPObject       *psShape;        if( wkbFlatten(poGeom->getGeometryType()) != wkbMultiPoint )        {            CPLError( CE_Failure, CPLE_AppDefined,                      "Attempt to write non-multipoint (%s) geometry to "                      "multipoint shapefile.",                      poGeom->getGeometryName() );            return OGRERR_UNSUPPORTED_GEOMETRY_TYPE;        }        padfX = (double *) CPLMalloc(sizeof(double)*poMP->getNumGeometries());        padfY = (double *) CPLMalloc(sizeof(double)*poMP->getNumGeometries());        padfZ = (double *) CPLCalloc(sizeof(double),poMP->getNumGeometries());        for( iPoint = 0; iPoint < poMP->getNumGeometries(); iPoint++ )        {            OGRPoint    *poPoint = (OGRPoint *) poMP->getGeometryRef(iPoint);                        padfX[iPoint] = poPoint->getX();            padfY[iPoint] = poPoint->getY();            padfZ[iPoint] = poPoint->getZ();        }        psShape = SHPCreateSimpleObject( hSHP->nShapeType,                                         poMP->getNumGeometries(),                                         padfX, padfY, padfZ );        SHPWriteObject( hSHP, iShape, psShape );        SHPDestroyObject( psShape );                CPLFree( padfX );        CPLFree( padfY );        CPLFree( padfZ );    }/* ==================================================================== *//*      Arcs from simple line strings.                                  *//* ==================================================================== */    else if( (hSHP->nShapeType == SHPT_ARC              || hSHP->nShapeType == SHPT_ARCM              || hSHP->nShapeType == SHPT_ARCZ)             && wkbFlatten(poGeom->getGeometryType()) == wkbLineString )    {        OGRLineString   *poArc = (OGRLineString *) poGeom;        double          *padfX, *padfY, *padfZ;        int             iPoint;        SHPObject       *psShape;        if( poGeom->getGeometryType() != wkbLineString            && poGeom->getGeometryType() != wkbLineString25D )        {            CPLError( CE_Failure, CPLE_AppDefined,                      "Attempt to write non-linestring (%s) geometry to "                      "ARC type shapefile.",                      poGeom->getGeometryName() );            return OGRERR_UNSUPPORTED_GEOMETRY_TYPE;        }        padfX = (double *) CPLMalloc(sizeof(double)*poArc->getNumPoints());        padfY = (double *) CPLMalloc(sizeof(double)*poArc->getNumPoints());        padfZ = (double *) CPLCalloc(sizeof(double),poArc->getNumPoints());        for( iPoint = 0; iPoint < poArc->getNumPoints(); iPoint++ )        {            padfX[iPoint] = poArc->getX( iPoint );            padfY[iPoint] = poArc->getY( iPoint );            padfZ[iPoint] = poArc->getZ( iPoint );        }        psShape = SHPCreateSimpleObject( hSHP->nShapeType,                                         poArc->getNumPoints(),                                         padfX, padfY, padfZ );        SHPWriteObject( hSHP, iShape, psShape );        SHPDestroyObject( psShape );                CPLFree( padfX );        CPLFree( padfY );        CPLFree( padfZ );    }/* ==================================================================== *//*      Arcs - Try to treat as MultiLineString.                         *//* ==================================================================== */    else if( hSHP->nShapeType == SHPT_ARC             || hSHP->nShapeType == SHPT_ARCM             || hSHP->nShapeType == SHPT_ARCZ )    {        OGRMultiLineString *poML;        double          *padfX=NULL, *padfY=NULL, *padfZ=NULL;        int             iGeom, iPoint, nPointCount = 0;        SHPObject       *psShape;        int             *panRingStart;        poML = (OGRMultiLineString *)             OGRGeometryFactory::forceToMultiLineString( poGeom->clone() );        if( wkbFlatten(poML->getGeometryType()) != wkbMultiLineString )        {            delete poML;            CPLError( CE_Failure, CPLE_AppDefined,                      "Attempt to write non-linestring (%s) geometry to "                      "ARC type shapefile.",                      poGeom->getGeometryName() );            return OGRERR_UNSUPPORTED_GEOMETRY_TYPE;        }        panRingStart = (int *)             CPLMalloc(sizeof(int) * poML->getNumGeometries());        for( iGeom = 0; iGeom < poML->getNumGeometries(); iGeom++ )        {            OGRLineString *poArc = (OGRLineString *)                poML->getGeometryRef(iGeom);            int nNewPoints = poArc->getNumPoints();            panRingStart[iGeom] = nPointCount;            padfX = (double *)                 CPLRealloc( padfX, sizeof(double)*(nNewPoints+nPointCount) );            padfY = (double *)                 CPLRealloc( padfY, sizeof(double)*(nNewPoints+nPointCount) );            padfZ = (double *)                 CPLRealloc( padfZ, sizeof(double)*(nNewPoints+nPointCount) );            for( iPoint = 0; iPoint < nNewPoints; iPoint++ )            {                padfX[nPointCount] = poArc->getX( iPoint );                padfY[nPointCount] = poArc->getY( iPoint );                padfZ[nPointCount] = poArc->getZ( iPoint );                nPointCount++;            }        }                psShape = SHPCreateObject( hSHP->nShapeType, iShape,                                    poML->getNumGeometries(),                                    panRingStart, NULL,                                   nPointCount, padfX, padfY, padfZ, NULL);        SHPWriteObject( hSHP, iShape, psShape );        SHPDestroyObject( psShape );        CPLFree( padfX );        CPLFree( padfY );        CPLFree( padfZ );        delete poML;    }/* ==================================================================== *//*      Polygons/MultiPolygons                                          *//* ==================================================================== */    else if( hSHP->nShapeType == SHPT_POLYGON             || hSHP->nShapeType == SHPT_POLYGONM             || hSHP->nShapeType == SHPT_POLYGONZ )    {        OGRPolygon      *poPoly;        OGRLinearRing   *poRing, **papoRings=NULL;        double          *padfX=NULL, *padfY=NULL, *padfZ=NULL;        int             iPoint, iRing, nRings, nVertex=0, *panRingStart;        SHPObject       *psShape;        /* Collect list of rings */        if( wkbFlatten(poGeom->getGeometryType()) == wkbPolygon )        {            poPoly =  (OGRPolygon *) poGeom;            if( poPoly->getExteriorRing() == NULL )            {                CPLDebug( "OGR",                           "Ignore POLYGON EMPTY in shapefile writer." );                nRings = 0;            }            else            {                nRings = poPoly->getNumInteriorRings()+1;                papoRings = (OGRLinearRing **) CPLMalloc(sizeof(void*)*nRings);                for( iRing = 0; iRing < nRings; iRing++ )                {                    if( iRing == 0 )                        papoRings[iRing] = poPoly->getExteriorRing();                    else                        papoRings[iRing] = poPoly->getInteriorRing( iRing-1 );                }            }        }        else if( wkbFlatten(poGeom->getGeometryType()) == wkbMultiPolygon                 || wkbFlatten(poGeom->getGeometryType())                                                 == wkbGeometryCollection )        {            OGRGeometryCollection *poGC = (OGRGeometryCollection *) poGeom;            int         iGeom;            nRings = 0;            for( iGeom=0; iGeom < poGC->getNumGeometries(); iGeom++ )            {                poPoly =  (OGRPolygon *) poGC->getGeometryRef( iGeom );                if( wkbFlatten(poPoly->getGeometryType()) != wkbPolygon )                {                    CPLFree( papoRings );                    CPLError( CE_Failure, CPLE_AppDefined,                              "Attempt to write non-polygon (%s) geometry to "                              " type shapefile.",                              poGeom->getGeometryName() );                    return OGRERR_UNSUPPORTED_GEOMETRY_TYPE;                }                if( poPoly->getExteriorRing() == NULL )                {                    CPLDebug( "OGR",                               "Ignore POLYGON EMPTY in shapefile writer." );                    continue;                }                papoRings = (OGRLinearRing **) CPLRealloc(papoRings,                      sizeof(void*) * (nRings+poPoly->getNumInteriorRings()+1));                for( iRing = 0;                      iRing < poPoly->getNumInteriorRings()+1;                      iRing++ )                {                    if( iRing == 0 )                        papoRings[nRings+iRing] = poPoly->getExteriorRing();                    else                        papoRings[nRings+iRing] =                             poPoly->getInteriorRing( iRing-1 );                }                nRings += poPoly->getNumInteriorRings()+1;            }        }        else         {            CPLError( CE_Failure, CPLE_AppDefined,                      "Attempt to write non-polygon (%s) geometry to "                      " type shapefile.",                      poGeom->getGeometryName() );            return OGRERR_UNSUPPORTED_GEOMETRY_TYPE;        }/* -------------------------------------------------------------------- *//*      If we only had emptypolygons or unacceptable geometries         *//*      write NULL geometry object.                                     *//* -------------------------------------------------------------------- */        if( nRings == 0 )        {            SHPObject       *psShape;                        psShape = SHPCreateSimpleObject( SHPT_NULL, 0, NULL, NULL, NULL );            SHPWriteObject( hSHP, iShape, psShape );            SHPDestroyObject( psShape );            return OGRERR_NONE;        }                /* count vertices */        nVertex = 0;        for( iRing = 0; iRing < nRings; iRing++ )            nVertex += papoRings[iRing]->getNumPoints();        panRingStart = (int *) CPLMalloc(sizeof(int) * nRings);        padfX = (double *) CPLMalloc(sizeof(double)*nVertex);        padfY = (double *) CPLMalloc(sizeof(double)*nVertex);        padfZ = (double *) CPLMalloc(sizeof(double)*nVertex);        /* collect vertices */        nVertex = 0;        for( iRing = 0; iRing < nRings; iRing++ )        {            poRing = papoRings[iRing];            panRingStart[iRing] = nVertex;            for( iPoint = 0; iPoint < poRing->getNumPoints(); iPoint++ )            {                padfX[nVertex] = poRing->getX( iPoint );                padfY[nVertex] = poRing->getY( iPoint );                padfZ[nVertex] = poRing->getZ( iPoint );                nVertex++;            }        }        psShape = SHPCreateObject( hSHP->nShapeType, iShape, nRings,                                   panRingStart, NULL,                                   nVertex, padfX, padfY, padfZ, NULL );        SHPRewindObject( hSHP, psShape );        SHPWriteObject( hSHP, iShape, psShape );

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美另类久久久品| 欧美不卡一区二区三区四区| 欧美日韩欧美一区二区| 欧美一区二区视频在线观看| 综合在线观看色| 欧美电影免费观看高清完整版| 床上的激情91.| 青青草伊人久久| 国产精品高潮呻吟| 国产亚洲一区字幕| 日韩精品一区二区在线观看| 91行情网站电视在线观看高清版| 国产自产v一区二区三区c| 午夜精品久久久久久久99水蜜桃| 欧美国产激情二区三区| 国产婷婷一区二区| 久久精品一区二区三区不卡| 欧美岛国在线观看| 精品裸体舞一区二区三区| 日韩欧美专区在线| 日韩免费观看高清完整版| 欧美一区二区三区视频免费播放| 欧美一a一片一级一片| 91久久免费观看| 欧美精品视频www在线观看| 欧美网站大全在线观看| 欧美性大战久久久久久久| 欧美专区在线观看一区| 日本精品一区二区三区高清 | 色综合咪咪久久| 日本乱人伦aⅴ精品| 欧美日韩成人一区二区| 日韩午夜精品视频| 国产精品久久久久三级| 亚洲综合色视频| 免费观看一级欧美片| 成人激情动漫在线观看| 日本韩国视频一区二区| 欧美人妇做爰xxxⅹ性高电影| 欧美xxxx老人做受| 亚洲手机成人高清视频| 蜜桃av噜噜一区| 91视视频在线观看入口直接观看www| 在线精品亚洲一区二区不卡| 8x8x8国产精品| 亚洲三级久久久| 激情文学综合网| 欧美高清视频www夜色资源网| 国产色爱av资源综合区| 午夜精品123| 国产老妇另类xxxxx| 在线观看日产精品| 久久精品一区二区| 精品一区二区日韩| 欧美少妇bbb| 亚洲视频精选在线| 国产精品一区二区视频| 日韩一级视频免费观看在线| 亚洲精选视频在线| 99久久精品情趣| 国产女同性恋一区二区| 久久66热偷产精品| 欧美一级二级三级蜜桃| 亚洲第一搞黄网站| 91免费在线播放| 亚洲国产激情av| 国产成人精品免费| 国产欧美日韩综合| 激情综合色综合久久综合| 久久天天做天天爱综合色| 亚洲丝袜精品丝袜在线| 一区二区三区久久| 99re热视频这里只精品| 亚洲婷婷综合久久一本伊一区| 国模套图日韩精品一区二区 | 国产二区国产一区在线观看| 中文字幕在线免费不卡| 亚洲电影一级黄| 欧美日韩三级在线| 日本色综合中文字幕| 日韩欧美激情四射| 国产精品一区免费在线观看| 中文字幕乱码亚洲精品一区| 97se亚洲国产综合自在线不卡| 亚洲女人****多毛耸耸8| 欧美三级在线看| 久久99久久久欧美国产| 国产精品福利影院| 欧美日韩在线精品一区二区三区激情 | 国产中文字幕一区| 综合在线观看色| 精品国产乱码久久久久久1区2区 | 91福利社在线观看| 亚洲第一综合色| 久久久久久免费网| 欧美色视频一区| 九色综合狠狠综合久久| 国产精品久久一级| 欧美日韩国产综合一区二区三区| 久久精品国产精品亚洲精品| 国产日韩精品一区| 欧美日韩极品在线观看一区| 国产二区国产一区在线观看| 一区二区三区av电影 | yourporn久久国产精品| 国产91在线看| 欧美日韩大陆一区二区| 亚洲一级二级三级| 精品国内片67194| 欧美三级电影在线看| 成人av免费在线播放| 激情综合网av| 国内精品国产成人国产三级粉色 | 久久9热精品视频| 亚洲国产aⅴ天堂久久| 亚洲欧美偷拍三级| 国产精品伦一区| 国产精品午夜久久| 国产偷国产偷精品高清尤物 | 久久日韩粉嫩一区二区三区| 欧美日韩一卡二卡三卡| 91精彩视频在线| 欧美日韩视频在线一区二区| 国产成人啪免费观看软件| 精品久久久久久久一区二区蜜臀| 国产精品一区二区免费不卡| 一区二区三区电影在线播| 亚洲欧美电影一区二区| 综合久久久久久| 一区二区三区波多野结衣在线观看 | 成人免费高清视频在线观看| 国产成人av电影在线| jlzzjlzz亚洲日本少妇| www.av亚洲| 欧美视频日韩视频在线观看| 欧美日韩视频一区二区| 精品久久国产97色综合| 国产亚洲精品精华液| 亚洲人成在线观看一区二区| 亚洲成av人片| 国产成人午夜高潮毛片| 亚洲激情图片小说视频| 久久精品一区二区三区av| 国产免费久久精品| 一区二区三区蜜桃网| 久久91精品久久久久久秒播| 国产福利一区二区三区视频| 91麻豆自制传媒国产之光| 日韩视频国产视频| 亚洲天堂2014| 国产美女精品一区二区三区| 一本一道久久a久久精品| 日韩欧美久久一区| 一区二区三区不卡在线观看| 国产乱码一区二区三区| 欧美影院一区二区三区| 欧美激情一二三区| 美国av一区二区| 欧美日韩一区二区三区免费看| 92精品国产成人观看免费| 国产久卡久卡久卡久卡视频精品| 在线观看国产日韩| 在线精品视频免费观看| 日韩欧美中文字幕一区| 国产婷婷色一区二区三区四区| 亚洲va欧美va人人爽| 91视视频在线观看入口直接观看www | 日av在线不卡| 精品1区2区3区| 亚洲一区二区在线播放相泽| 99re6这里只有精品视频在线观看| 日韩视频免费观看高清在线视频| 性久久久久久久| 欧美日本在线播放| 日韩激情av在线| 日韩视频免费观看高清在线视频| 天天综合天天综合色| 91麻豆精品国产自产在线观看一区| 亚洲精品成人天堂一二三| 色8久久精品久久久久久蜜| 亚洲男同1069视频| 欧美视频在线观看一区| 国产精品久久久久久久午夜片| 国产成人一区二区精品非洲| 久久久久9999亚洲精品| 国产一区二区三区黄视频 | 麻豆成人久久精品二区三区红| 日韩欧美卡一卡二| 成人污视频在线观看| 亚洲人123区| 91精品国产综合久久小美女| 免费看欧美女人艹b| 日本一区二区动态图| 欧美怡红院视频| 狠狠色狠狠色合久久伊人| 国产精品久久久久久亚洲伦| 777久久久精品| 99精品欧美一区| 男男gaygay亚洲| 亚洲人成7777|