AGF文本

AGF文本与二进制AGF格式类似,只不过它使用的是文本格式而已,它是OGC WKT格式的一个超集,AGF文本的语法如下所示。

<FGF Text> ::= POINT <Dimensionality> <PointEntity>

| LINESTRING <Dimensionality> <LineString>

| POLYGON <Dimensionality> <Polygon>

| CURVESTRING <Dimensionality> <CurveString>

| CURVEPOLYGON <Dimensionality> <CurvePolygon>

| MULTIPOINT <Dimensionality> <MultiPoint>

| MULTILINESTRING <Dimensionality> <MultiLineString>

| MULTIPOLYGON <Dimensionality> <MultiPolygon>

| MULTICURVESTRING <Dimensionality> <MultiCurveString>

| MULTICURVEPOLYGON <Dimensionality> <MultiCurvePolygon>

| GEOMETRYCOLLECTION <GeometryCollection>

<PointEntity> ::= '(' <Point> ')'

<LineString> ::= '(' <PointCollection> ')'

<Polygon> ::= '(' <LineStringCollection> ')'

<MultiPoint> ::= '(' <PointCollection> ')'

<MultiLineString> ::= '(' <LineStringCollection> ')'

<MultiPolygon> ::= '(' <PolygonCollection> ')'

<GeometryCollection : '(' <FGF Collection Text> ')'

<CurveString> ::= '(' <Point> '(' <CurveSegmentCollection> ')' ')'

<CurvePolygon> ::= '(' <CurveStringCollection> ')'

<MultiCurveString> ::= '(' <CurveStringCollection> ')'

<MultiCurvePolygon> ::= '(' <CurvePolygonCollection> ')'

<Dimensionality> ::= // default to XY

| XY

| XYZ

| XYM

| XYZM

<Point> ::= DOUBLE DOUBLE

| DOUBLE DOUBLE DOUBLE

| DOUBLE DOUBLE DOUBLE DOUBLE

<PointCollection> ::= <Point>

| <PointCollection ',' <Point>

<LineStringCollection> ::= <LineString>

| <LineStringCollection> ',' <LineString>

<PolygonCollection> ::= <Polygon>

| <PolygonCollection> ',' <Polygon>

<FGF Collection Text> ::= <FGF Text>

| <FGF Collection Text> ',' <FGF Text>

<CurveSegment> ::= CIRCULARARCSEGMENT '(' <Point> ',' <Point> ')'

| LINESTRINGSEGMENT '(' <PointCollection> ')'

<CurveSegmentCollection> ::= <CurveSegment>

| <CurveSegmentCollection> ',' <CurveSegment>

<CurveStringCollection> ::= <CurveString>

| <CurveStringCollection> ',' <CurveString>

<CurvePolygonCollection> ::= <CurvePolygon>

| <CurvePolygonCollection> ',' <CurvePolygon>

下面例子中展示了使用AGF文本格式描述的不同类型的几何物体。

POINT XY (10 11) // equivalent to POINT (10 11)

POINT XYZ (10 11 12)

POINT XYM (10 11 1.2)

POINT XYZM (10 11 12 1.2)

GEOMETRYCOLLECTION (POINT xyz (10 11 12),POINT XYM (30 20 1.8),

LINESTRING XYZM(1 2 3 4, 3 5 15, 3 20 20))

CURVESTRING (0 0 (LINESTRINGSEGMENT (10 10, 20 20, 30 40))))

CURVESTRING (0 0 (CIRCULARARCSEGMENT (11 11, 12 12),

LINESTRINGSEGMENT (10 10, 20 20, 30 40)))

CURVESTRING (0 0 (ARC (11 11, 12 12), LINESTRINGSEGMENT (10 10, 20

20, 30 40)))

CURVESTRING XYZ (0 0 0 (LINESTRINGSEGMENT (10 10 1, 20 20 1, 30 40

1)))

MULTICURVESTRING ((0 0 (LINESTRINGSEGMENT (10 10, 20 20, 30 40))),(0

0 (ARC (11 11, 12 12), LINESTRINGSEGMENT (10 10, 20 20, 30 40))))

CURVEPOLYGON ((0 0 (LINESTRINGSEGMENT (10 10, 10 20, 20 20), ARC

(20 15, 10 10))), (0 0 (ARC (11 11, 12 12), LINESTRINGSEGMENT (10 10, 20

20, 40 40, 90 90))))

MULTICURVEPOLYGON (((0 0 (LINESTRINGSEGMENT (10 10, 10 20, 20 20),

ARC (20 15, 10 10))), (0 0 (ARC (11 11, 12 12), LINESTRINGSEGMENT (10 10,

20 20, 40 40, 90 90)))),((0 0 (LINESTRINGSEGMENT (10 10, 10 20, 20 20),

ARC (20 15, 10 10))), (0 0 (ARC (11 11, 12 12), LINESTRINGSEGMENT (10 10,

20 20, 40 40, 90 90)))))

04-27 17:02:29.477 2862 3426 I OsenseResManagerService: Receive wms callback identity = com.android.server.wm, handle = 2643563754599533168, scene = , action = OSENSE_ACTION_ACTIVITY_START, timeout = 500 04-27 17:02:29.478 2862 3426 D AOSP_SafeCenter OplusAccessControlManagerService: checkStartActivityForAppLock: start intent=Intent { flg=0x10008000 cmp=com.android.nfc/.NfcRootActivity (has extras) } requestCode=0 sourceRecord=null aInfo.applicationInfo.uid=1027 realCallingUid=1027 isSkip=false encryptEnable=false isPreLoad=false isKeyguardLock=false isEncrypt=false inTask=null 04-27 17:02:29.478 2862 3277 I ORMS_CORE: 1012,2,400 - 87084,500,500 04-27 17:02:29.479 2862 3277 I ORMS_CORE: saConfig: SAResult Info{minCore=[4, 4, -1]minFreq=[1900800, 2208000, -1]maxCore=[-1, -1, -1]maxFreq=[-1, -1, -1]maxCoreHigh=null maxFreqHigh=null , ddr=-1, lpm=0, sb=2, prio=400, fpsgo=-1, migrate= migfrate: 50 40 , mask=0, clkscale=0, schedwinstats=-1, twinpolicy=-1, fgwinpolicy=-1, bgwinpolicy=-1, schedPreferSpread=-1, colocate=-1, slb=-1, swintick=-1, nice=0, extActId=-1, extTime=-1, hardLevel=0, targetL=null, cpuBouncingEnable=null, breakthm=0, breakHighTheraml=-1, perfColocate=-1, rulerable=-1, fgCpuUclamp=-1, bgCpuUclamp=-1, topCpuUclamp=-1, dissleep=-1, coreCtlEnable=null, upRateLimit=null, hispeed_freq=null, cpuSetBackground=-1, uclampminta=-1, preferidleta=-1, uclampminfg=-1, lmkDropcaches=-1, l3BoostFreq=null, ddrBoostFreq=null, llccBoostFreq=null, schedAssist=null, cpusetDisplay=null, kgslBusmon=null, kgsl3d=null, ufshc=null, schedAsymcapBoost=-1, rtgBoostFreq=null, targetLoadThresh=null, forcestep=-1, schedtuneboost=-1, perfConfigs[perfconfigs: ]} 04-27 17:02:29.479 2862 3277 I ORMS_CORE: tcl:-1 tgl:-1 tctl:-1 tm:0 bt:0 im:0 pm:NORMAL_MODE bm:0 cd:0 ipa:-1.9999 adp:0 04-27 17:02:29.479 2862 3277 I ORMS_CORE: ORMS_req:{ icc: 14 14 , icf: 19 22 , acc: -1 -1 , acf: -1 -1 , igc: -1 , igf: -1 , agc: -1 , agf: -1 , lp=0, cs=0, sps=-1, co=-1, slb=-1, swintick=-1, sb=2, dr=-1, mg= 50 40 , hl=false, uclampMinTa=-1, mPreferIdleTa=-1, uclampMinFg=-1, lmkDropcaches=-1, mSchedtuneBoost=-1, perfConfigMap[ perfconfigs: ]} 04-27 17:02:29.479 2862 3426 D CompatChangeReporter: Compat change id reported: 151861875; UID 1027; state: ENABLED 04-27 17:02:29.479 2862 3426 W OptProp : Cannot read opt property android.window.PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE
最新发布
08-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值