Cesium JS API
AppearanceArcGisMapServerImageryProviderArcGISTiledElevationTerrainProviderArcTypeAssociativeArrayAxisAxisAlignedBoundingBoxbarycentricCoordinatesBillboardBillboardCollectionBillboardGraphicsBillboardVisualizerbinarySearchbinarySearchComparatorBingMapsGeocoderServiceBingMapsImageryProviderBingMapsStyleBlendEquationBlendFunctionBlendingStateBlendOptionBoundingRectangleBoundingSphereBoxEmitterBoxGeometryBoxGeometryUpdaterBoxGraphicsBoxOutlineGeometrybuildModuleUrlCallbackPropertyCameraCameraEventAggregatorCameraEventTypeCartesian2Cartesian3Cartesian4CartographicCartographicGeocoderServiceCatmullRomSplineCesium3DTileCesium3DTileColorBlendModeCesium3DTileContentCesium3DTileFeatureCesium3DTilePointFeatureCesium3DTilesetCesium3DTilesetGraphicsCesium3DTilesetVisualizerCesium3DTileStyleCesium3DTilesVoxelProviderCesiumTerrainProviderCesiumWidgetCheckerboardMaterialPropertyCircleEmitterCircleGeometryCircleOutlineGeometryClassificationPrimitiveClassificationTypeClippingPlaneClippingPlaneCollectionClockClockRangeClockStepcloneCloudCollectionCloudTypeColorColorBlendModeColorGeometryInstanceAttributeColorMaterialPropertycombineComponentDatatypeCompositeEntityCollectionCompositeMaterialPropertyCompositePositionPropertyCompositePropertyCompressedTextureBufferConditionsExpressionConeEmitterConstantPositionPropertyConstantPropertyConstantSplineContextOptionsCoplanarPolygonGeometryCoplanarPolygonOutlineGeometryCornerTypeCorridorGeometryCorridorGeometryUpdaterCorridorGraphicsCorridorOutlineGeometrycreateElevationBandMaterialcreateElevationBandMaterialBandcreateElevationBandMaterialEntrycreateGuidcreateOsmBuildingscreateTangentSpaceDebugPrimitivecreateWorldImagerycreateWorldTerrainCreditCreditDisplayCubicRealPolynomialCullFaceCullingVolumeCumulusCloudCustomDataSourceCustomHeightmapTerrainProviderCustomShaderCustomShaderModeCustomShaderTranslucencyModeCylinderGeometryCylinderGeometryUpdaterCylinderGraphicsCylinderOutlineGeometryCzmlDataSourceDataSourceDataSourceClockDataSourceCollectionDataSourceDisplayDebugAppearanceDebugCameraPrimitiveDebugModelMatrixPrimitiveDefaultProxydefaultValuedefinedDepthFunctiondestroyObjectDeveloperErrorDirectionalLightDirectionUpDiscardEmptyTileImagePolicyDiscardMissingTileImagePolicyDistanceDisplayConditionDistanceDisplayConditionGeometryInstanceAttributeEasingFunctionEllipseGeometryEllipseGeometryUpdaterEllipseGraphicsEllipseOutlineGeometryEllipsoidEllipsoidGeodesicEllipsoidGeometryEllipsoidGeometryUpdaterEllipsoidGraphicsEllipsoidOutlineGeometryEllipsoidRhumbLineEllipsoidSurfaceAppearanceEllipsoidTangentPlaneEllipsoidTerrainProviderEntityEntityClusterEntityCollectionEntityViewEventEventHelperexcludesReverseAxisexportKmlexportKmlModelCallbackexportKmlResultKmlexportKmlResultKmzExpressionExtrapolationTypeFeatureDetectionFogformatErrorFrameRateMonitorFrustumGeometryFrustumOutlineGeometryFullscreenGeocoderServiceGeocodeTypeGeographicProjectionGeographicTilingSchemeGeoJsonDataSourceGeometryGeometryAttributeGeometryAttributesGeometryFactoryGeometryInstanceGeometryInstanceAttributeGeometryPipelineGeometryUpdaterGeometryVisualizergetAbsoluteUrigetBaseUrigetExtensionFromUriGetFeatureInfoFormatgetFilenameFromUrigetImagePixelsgetTimestampGlobeGlobeTranslucencyGoogleEarthEnterpriseImageryProviderGoogleEarthEnterpriseMapsProviderGoogleEarthEnterpriseMetadataGoogleEarthEnterpriseTerrainDataGoogleEarthEnterpriseTerrainProviderGpxDataSourceGregorianDateGridImageryProviderGridMaterialPropertyGroundGeometryUpdaterGroundPolylineGeometryGroundPolylinePrimitiveGroundPrimitiveHeadingPitchRangeHeadingPitchRollHeadingPitchRollValuesHeightmapEncodingHeightmapTerrainDataHeightReferenceHermitePolynomialApproximationHermiteSplineHilbertOrderHorizontalOriginI3SDataProviderI3SFeatureI3SFieldI3SGeometryI3SLayerI3SNodeImageBasedLightingImageMaterialPropertyImageryLayerImageryLayerCollectionImageryLayerFeatureInfoImageryProviderImageryTypesincludesReverseAxisIndexDatatypeIntersectIntersections2DIntersectionTestsIntervalIonIonGeocoderServiceIonImageryProviderIonResourceIonWorldImageryStyleisLeapYearIso8601JulianDateKeyboardEventModifierKmlCameraKmlDataSourceKmlFeatureDataKmlLookAtKmlTourKmlTourFlyToKmlTourWaitLabelLabelCollectionLabelGraphicsLabelStyleLabelVisualizerLagrangePolynomialApproximationLeapSecondLightLightingModelLinearApproximationLinearSplineMapboxImageryProviderMapboxStyleImageryProviderMapMode2DMapProjectionMaterialMaterialAppearanceMaterialSupportMaterialPropertyMathMatrix2Matrix3Matrix4mergeSortmergeSortComparatorMetadataClassMetadataClassPropertyMetadataComponentTypeMetadataEnumMetadataEnumValueMetadataSchemaMetadataTypeModelModelAnimationModelAnimationCollectionModelAnimationLoopModelFeatureModelGraphicsModelNodeModelVisualizerMoonMorphWeightSplineNearFarScalarNeverTileDiscardPolicyNodeTransformationPropertyobjectToQueryOccluderOpenCageGeocoderServiceOpenStreetMapImageryProviderOrientedBoundingBoxOrthographicFrustumOrthographicOffCenterFrustumPackableForInterpolationParticleParticleBurstParticleEmitterParticleSystemPathGraphicsPathVisualizerPeliasGeocoderServicePerInstanceColorAppearancePerspectiveFrustumPerspectiveOffCenterFrustumPinBuilderPixelDatatypePixelFormatPlanePlaneGeometryPlaneGeometryUpdaterPlaneGraphicsPlaneOutlineGeometryPointCloudShadingPointGraphicspointInsideTrianglePointPrimitivePointPrimitiveCollectionPointVisualizerPolygonGeometryPolygonGeometryUpdaterPolygonGraphicsPolygonHierarchyPolygonOutlineGeometryPolylinePolylineArrowMaterialPropertyPolylineCollectionPolylineColorAppearancePolylineDashMaterialPropertyPolylineGeometryPolylineGeometryUpdaterPolylineGlowMaterialPropertyPolylineGraphicsPolylineMaterialAppearancePolylineOutlineMaterialPropertyPolylineVisualizerPolylineVolumeGeometryPolylineVolumeGeometryUpdaterPolylineVolumeGraphicsPolylineVolumeOutlineGeometryPositionPropertyPositionPropertyArrayPostProcessStagePostProcessStageCollectionPostProcessStageCompositePostProcessStageLibraryPostProcessStageSampleModePrimitivePrimitiveCollectionPrimitiveTypePropertyPropertyArrayPropertyBagProxyQuadraticRealPolynomialQuantizedMeshTerrainDataQuarticRealPolynomialQuaternionQuaternionSplinequeryToObjectQueueRayreadyPromiseRectangleRectangleGeometryRectangleGeometryUpdaterRectangleGraphicsRectangleOutlineGeometryReferenceFrameReferencePropertyremoveExtensionRequestRequestErrorEventRequestSchedulerRequestStateRequestTypeResourceRuntimeErrorSampledPositionPropertySampledPropertysampleTerrainsampleTerrainMostDetailedSceneSceneModeSceneTransformsScreenSpaceCameraControllerScreenSpaceEventHandlerScreenSpaceEventTypeshaderDefinesshaderMaximumIntersectionsLengthshaderUniformsShadowMapShadowModeShowGeometryInstanceAttributeSimon1994PlanetaryPositionsSimplePolylineGeometrySingleTileImageryProviderSkyAtmosphereSkyBoxSphereEmitterSphereGeometrySphereOutlineGeometrySphericalSplineSplitDirectionStencilFunctionStencilOperationSteppedSplineStripeMaterialPropertyStripeOrientationStyleExpressionsubdivideArraySunSunLightTaskProcessorTerrainDataTerrainProviderTextureMagnificationFilterTextureMinificationFilterTextureUniformTileAvailabilityTileCoordinatesImageryProviderTileDiscardPolicyTileMapServiceImageryProviderTileProviderErrorTilingSchemeTimeDynamicImageryTimeDynamicPointCloudTimeIntervalTimeIntervalCollectionTimeIntervalCollectionPositionPropertyTimeIntervalCollectionPropertyTimeStandardTransformsTranslationRotationScaleTridiagonalSystemSolverTrustedServersUniformSpecifierUniformTypeUrlTemplateImageryProviderVaryingTypeVelocityOrientationPropertyVelocityVectorPropertyVertexFormatVerticalOriginVideoSynchronizerViewportQuadVisibilityVisualizerVoxelPrimitiveVoxelProviderVoxelShapeTypeVRTheWorldTerrainProviderWallGeometryWallGeometryUpdaterWallGraphicsWallOutlineGeometryWebGLConstantsWebGLOptionsWebMapServiceImageryProviderWebMapTileServiceImageryProviderWebMercatorProjectionWebMercatorTilingSchemeWindingOrderwriteTextToCanvasAnimationAnimationViewModelBaseLayerPickerBaseLayerPickerViewModelCesium3DTilesInspectorCesium3DTilesInspectorViewModelCesiumInspectorCesiumInspectorViewModelClockViewModelCommandcreateCommandFullscreenButtonFullscreenButtonViewModelGeocoderGeocoderViewModelHomeButtonHomeButtonViewModelInfoBoxInfoBoxViewModelNavigationHelpButtonNavigationHelpButtonViewModelPerformanceWatchdogPerformanceWatchdogViewModelProjectionPickerProjectionPickerViewModelProviderViewModelSceneModePickerSceneModePickerViewModelSelectionIndicatorSelectionIndicatorViewModelSvgPathBindingHandlerTimelineToggleButtonViewModelViewerviewerCesium3DTilesInspectorMixinviewerCesiumInspectorMixinviewerDragDropMixinviewerPerformanceWatchdogMixinviewerVoxelInspectorMixinVoxelInspectorVoxelInspectorViewModelVRButtonVRButtonViewModel

GeometryFactory

GeometryFactory 是 CesiumJS 中的一个用于创建几何体的工厂。它提供了一些方法来创建各种类型的几何体,例如点、线、多边形等。

构造函数

new GeometryFactory()

创建一个新的 GeometryFactory 对象。

方法

createPoint(options)

创建一个点几何体。

参数:

  • options : Object,可选,用于设置点几何体的属性,包括以下属性:
    • position : Cartesian3,必需,点的位置。
    • color : Color,可选,点的颜色,默认为 Cesium.Color.WHITE。
    • outlineColor : Color,可选,点的轮廓颜色,默认为 Cesium.Color.BLACK。
    • outlineWidth : Number,可选,点的轮廓宽度,默认为 1.0。
    • pixelSize : Number,可选,点的大小,以像素为单位,默认为 10.0。

返回值:

  • PointGraphics : PointGraphics,表示点几何体的图形属性。

示例:

var point = geometryFactory.createPoint({
    position: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
    color: Cesium.Color.RED,
    outlineColor: Cesium.Color.WHITE,
    outlineWidth: 2.0,
    pixelSize: 20.0
});

createPolyline(options)

创建一条折线几何体。

参数:

  • options : Object,可选,用于设置折线几何体的属性,包括以下属性:
    • positions : Array.<Cartesian3>,必需,折线的顶点坐标数组。
    • width : Number,可选,折线的宽度,默认为 1.0。
    • material : Material,可选,折线的材质,默认为 Cesium.MaterialColorType.COLOR。
      • Color: material : Color,折线的颜色。
      • PolylineDashMaterial: material : PolylineDashMaterial,折线的虚线材质。
      • PolylineGlowMaterial: material : PolylineGlowMaterial,折线的发光材质。
      • PolylineOutlineMaterial: material : PolylineOutlineMaterial,折线的轮廓材质。
    • followSurface : Boolean,可选,折线是否贴在地球表面,默认为 true。

返回值:

  • PolylineGraphics : PolylineGraphics,表示折线几何体的图形属性。

示例:

var polyline = geometryFactory.createPolyline({
    positions: Cesium.Cartesian3.fromDegreesArray([
        -75.59777, 40.03883,
        -75.59624, 40.03883,
        -75.59624, 40.03786,
        -75.59777, 40.03786
    ]),
    width: 5.0,
    material: Cesium.Color.RED.withAlpha(0.5),
    followSurface: true
});

createPolygon(options)

创建一个多边形几何体。

参数:

  • options : Object,可选,用于设置多边形几何体的属性,包括以下属性:
    • hierarchy : Array.<Cartesian3> | PolygonHierarchy,必需,多边形的层次结构。
      • Array.<Cartesian3> : 表示多边形的顶点坐标数组。
      • PolygonHierarchy : 表示多边形的层次结构,包含以下属性:
        • positions : Array.<Cartesian3>,表示多边形所有边界的顶点坐标。
        • holes : Array.<PolygonHierarchy>,可选,表示多边形的内部空洞,是一个多边形层次结构数组。
    • extrudedHeight : Number,可选,多边形的拉升高度,表示多边形的厚度,默认为 0.0。
    • heightReference : HeightReference,可选,多边形高度的参考系,默认为 Cesium.HeightReference.NONE。
    • material : Material,可选,多边形的材质,默认为 Cesium.MaterialColorType.COLOR。
      • Color: material : Color,多边形的颜色。
      • ImageMaterial: material : ImageMaterial,多边形的纹理材质。
      • PolylineDashMaterial: material : PolylineDashMaterial,多边形的虚线材质。
    • outline : Boolean,可选,是否绘制多边形的轮廓线,默认为 true。
    • outlineColor : Color,可选,多边形的轮廓线颜色,默认为 Cesium.Color.BLACK。
    • outlineWidth : Number,可选,多边形的轮廓线宽度,默认为 1.0。
    • perPositionHeight : Boolean,可选,是否按照顶点高度提升,默认为 false。

返回值:

  • PolygonGraphics : PolygonGraphics,表示多边形几何体的图形属性。

示例:

var polygon = geometryFactory.createPolygon({
    hierarchy: new Cesium.PolygonHierarchy(Cesium.Cartesian3.fromDegreesArray([
        -108.0, 42.0,
        -100.0, 42.0,
        -104.0, 40.0
    ])),
    material: Cesium.Color.ORANGE.withAlpha(0.5),
    heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
    outline: true,
    outlineColor: Cesium.Color.BLACK,
    outlineWidth: 5.0
});

createCircle(options)

创建一个圆几何体。

参数:

  • options : Object,可选,用于设置圆几何体的属性,包括以下属性:
    • center : Cartesian3,必需,表示圆心的位置。
    • radius : Number,必需,表示圆的半径。
    • material : Material,可选,圆的材质,默认为 Cesium.MaterialColorType.COLOR。
      • Color: material : Color,圆的颜色。
      • ImageMaterial: material : ImageMaterial,圆的纹理材质。
      • PolylineDashMaterial: material : PolylineDashMaterial,圆的虚线材质。
    • heightReference : HeightReference,可选,圆高度的参考系,默认为 Cesium.HeightReference.NONE。
    • outline : Boolean,可选,是否绘制圆的轮廓线,默认为 true。
    • outlineColor : Color,可选,圆的轮廓线颜色,默认为 Cesium.Color.BLACK。
    • outlineWidth : Number,可选,圆的轮廓线宽度,默认为 1.0。
    • numberOfVerticalLines : Number,可选,圆的垂线数量,默认为 16。
    • stackPartitions : Number,可选,圆的垂直分区数,默认为 1。
    • slicePartitions : Number,可选,圆的水平分区数,默认为 128。

返回值:

  • CircleGraphics : CircleGraphics,表示圆几何体的图形属性。

示例:

var circle = geometryFactory.createCircle({
    center: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
    radius: 1000.0,
    material: Cesium.Color.YELLOW.withAlpha(0.5),
    heightReference: Cesium.HeightReference.RELATIVE_TO_GROUND,
    outline: true,
    outlineColor: Cesium.Color.BLACK,
    outlineWidth: 5.0,
    numberOfVerticalLines: 32,
    stackPartitions: 2,
    slicePartitions: 64
});

createRectangle(options)

创建一个矩形几何体。

参数:

  • options : Object,可选,用于设置矩形几何体的属性,包括以下属性:
    • coordinates : Rectangle | Array.<Number>,必需,矩形的坐标范围。
      • Rectangle: coordinates : 表示矩形的坐标范围,是一个 Cesium.Rectangle 对象。
      • Array.<Number>: coordinates : 表示矩形的坐标范围,是一个由 [west, south, east, north] 组成的数组。
    • height : Number,可选,矩形的高度,默认为 0.0。
    • heightReference : HeightReference,可选,矩形高度的参考系,默认为 Cesium.HeightReference.NONE。
    • material : Material,可选,矩形的材质,默认为 Cesium.MaterialColorType.COLOR。
      • Color: material : Color,矩形的颜色。
      • ImageMaterial: material : ImageMaterial,矩形的纹理材质。
      • PolylineDashMaterial: material : PolylineDashMaterial,矩形的虚线材质。
    • outline : Boolean,可选,是否绘制矩形的轮廓线,默认为 true。
    • outlineColor : Color,可选,矩形的轮廓线颜色,默认为 Cesium.Color.BLACK。
    • outlineWidth : Number,可选,矩形的轮廓线宽度,默认为 1.0。

返回值:

  • RectangleGraphics : RectangleGraphics,表示矩形几何体的图形属性。

示例:

var rectangle = geometryFactory.createRectangle({
    coordinates: Cesium.Rectangle.fromDegrees(-75.0, 28.0, -70.0, 32.0),
    height: 50000.0,
    material: Cesium.Color.CYAN.withAlpha(0.5),
    heightReference: Cesium.HeightReference.NONE,
    outline: true,
    outlineColor: Cesium.Color.BLACK,
    outlineWidth: 5.0
});

createEllipsoid(options)

创建一个椭球几何体。

参数:

  • options : Object,可选,用于设置椭球几何体的属性,包括以下属性:
    • center : Cartesian3,必需,表示椭球的中心位置。
    • radii : Cartesian3,必需,表示椭球的三个轴的半径。
    • material : Material,可选,椭球的材质,默认为 Cesium.MaterialColorType.COLOR。
      • Color: material : Color,椭球的颜色。
      • ImageMaterial: material : ImageMaterial,椭球的纹理材质。
    • heightReference : HeightReference,可选,椭球高度的参考系,默认为 Cesium.HeightReference.NONE。

返回值:

  • EllipsoidGraphics : EllipsoidGraphics,表示椭球几何体的图形属性。

示例:

var ellipsoid = geometryFactory.createEllipsoid({
    center: Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
    radii: new Cesium.Cartesian3(10000.0, 20000.0, 30000.0),
    material: Cesium.Color.BLUE.withAlpha(0.5),
    heightReference: Cesium.HeightReference.NONE
});

createCylinder(options)

创建一个圆柱体几何体。

参数:

  • options : Object,可选,用于设置圆柱体几何体的属性,包括以下属性:
    • length : Number,必需,表示圆柱体的长度。
    • topRadius : Number,必需,表示圆柱体顶面的半径。
    • bottomRadius : Number,必需,表示圆柱体底面的半径。
    • slices : Number,可选,表示圆柱侧面的分段数,默认为 128。
    • material : Material,可选,圆柱体的材质,默认为 Cesium.MaterialColorType.COLOR。
      • Color: material : Color,圆柱体的颜色。
      • ImageMaterial: material : ImageMaterial,圆柱体的纹理材质。
      • PolylineDashMaterial: material : PolylineDashMaterial,圆柱体的虚线材质。
    • heightReference : HeightReference,可选,圆柱体高度的参考系,默认为 Cesium.HeightReference.NONE。
    • outline : Boolean,可选,是否绘制圆柱体的轮廓线,默认为 true。
    • outlineColor : Color,可选,圆柱体的轮廓线颜色,默认为 Cesium.Color.BLACK。
    • outlineWidth : Number,可选,圆柱体的轮廓线宽度,默认为 1.0。

返回值:

  • CylinderGraphics : CylinderGraphics,表示圆柱体几何体的图形属性。

示例:

var cylinder = geometryFactory.createCylinder({
    length: 5000.0,
    topRadius: 200.0,
    bottomRadius: 400.0,
    slices: 64,
    material: Cesium.Color.GREEN.withAlpha(0.5),
    heightReference: Cesium.HeightReference.NONE,
    outline: true,
    outlineColor: Cesium.Color.BLACK,
    outlineWidth: 5.0
});

参考资料