不插字段,直接利用OracleSpatial计算
select
to_char(regexp_replace(sdo_util.to_gmlgeometry(sdo_geom.sdo_difference(
SDO_GEOMETRY
(
2003, -- 二维平面
8307, -- 大地坐标
NULL, -- SDO_POINT_TYPE is null
SDO_ELEM_INFO_ARRAY -- SDO_ELEM_INFO attribute (see Table 4-2 for values)
(
1, -- Offset is 1
1003, -- 多边形
1 -- Interpretation is 1 if line string is connected by straight lines.
),
SDO_ORDINATE_ARRAY -- SDO_ORDINATES attribute
(
112.291389,27.621667,
112.633333,26.908333,
112.358333,25.561667,
111.340000,25.276667,
109.316667,26.583333,
109.355833,27.882500,
111.788889,28.318333,
112.291389,27.621667
)
),
SDO_GEOMETRY
(
2003, -- 二维平面
8307, -- 大地坐标
NULL, -- SDO_POINT_TYPE is null
SDO_ELEM_INFO_ARRAY -- SDO_ELEM_INFO attribute (see Table 4-2 for values)
(
1, -- Offset is 1
1003, -- 二维平面
1 -- Interpretation is 1 if line string is connected by straight lines.
),
SDO_ORDINATE_ARRAY -- SDO_ORDINATES attribute
(
112.200523,28.515756,
112.209444,28.515824,
112.218365,28.515756,
112.227284,28.515550,
112.236197,28.515206,
112.245101,28.514726,
112.253995,28.514108,
112.262874,28.513353,
112.271738,28.512462,
112.280582,28.511435,
112.289404,28.510271,
112.298202,28.508972,
112.306972,28.507538,
112.315712,28.505968,
112.324419,28.504265,
112.333091,28.502427,
112.341724,28.500456,
112.350317,28.498353,
112.358867,28.496117,
112.367370,28.493751,
112.375825,28.491253,
112.384228,28.488626,
112.392578,28.485870,
112.400871,28.482986,
112.409105,28.479974,
112.417278,28.476836,
112.425386,28.473573,
112.433428,28.470185,
112.441401,28.466674,
112.449303,28.463041,
112.457130,28.459286,
112.464882,28.455412,
112.472554,28.451419,
112.480146,28.447308,
112.487654,28.443081,
112.495077,28.438739,
112.502412,28.434284,
112.509656,28.429716,
112.516808,28.425037,
112.523866,28.420249,
112.530827,28.415353,
112.537689,28.410351,
112.544450,28.405243,
112.551108,28.400033,
112.557661,28.394720,
112.564107,28.389308,
112.570444,28.383797,
112.576670,28.378189,
112.582783,28.372486,
112.588782,28.366690,
112.594663,28.360803,
112.600427,28.354826,
112.606071,28.348761,
112.611592,28.342610,
112.616991,28.336374,
112.622264,28.330057,
112.627411,28.323660,
112.632429,28.317184,
112.637318,28.310632,
112.642075,28.304006,
112.646700,28.297307,
112.651190,28.290538,
112.655546,28.283701,
112.659764,28.276798,
112.663845,28.269832,
112.667786,28.262803,
112.671587,28.255715,
112.675247,28.248569,
112.678763,28.241368,
112.682137,28.234114,
112.685365,28.226810,
112.688448,28.219456,
112.691385,28.212056,
112.694174,28.204613,
112.696814,28.197127,
112.699306,28.189602,
112.701648,28.182039,
112.703840,28.174442,
112.705881,28.166812,
112.707770,28.159152,
112.709506,28.151464,
112.711091,28.143750,
112.712522,28.136013,
112.713799,28.128256,
112.714923,28.120479,
112.715892,28.112687,
112.716707,28.104881,
112.717367,28.097064,
112.717873,28.089237,
112.718223,28.081404,
112.718419,28.073567,
112.718459,28.065728,
112.718345,28.057890,
112.718075,28.050054,
112.717651,28.042224,
112.717071,28.034401,
112.716338,28.026589,
112.715450,28.018789,
112.714408,28.011004,
112.713213,28.003237,
112.711864,27.995488,
112.710363,27.987762,
112.708709,27.980060,
112.706904,27.972385,
112.704948,27.964739,
112.702841,27.957124,
112.700585,27.949542,
112.698179,27.941997,
112.695625,27.934489,
112.692923,27.927023,
112.690075,27.919599,
112.687081,27.912219,
112.683942,27.904887,
112.680659,27.897605,
112.677233,27.890374,
112.673665,27.883197,
112.669957,27.876076,
112.666109,27.869014,
112.662123,27.862011,
112.658000,27.855071,
112.653741,27.848196,
112.649348,27.841387,
112.644821,27.834647,
112.640163,27.827978,
112.635374,27.821381,
112.630456,27.814859,
112.625411,27.808414,
112.620241,27.802047,
112.614946,27.795761,
112.609528,27.789558,
112.603990,27.783439,
112.598332,27.777406,
112.592557,27.771461,
112.586666,27.765606,
112.580661,27.759843,
112.574544,27.754173,
112.568316,27.748598,
112.561981,27.743120,
112.555539,27.737740,
112.548992,27.732460,
112.542343,27.727282,
112.535594,27.722207,
112.528746,27.717236,
112.521802,27.712372,
112.514763,27.707616,
112.507633,27.702969,
112.500412,27.698432,
112.493104,27.694007,
112.485710,27.689695,
112.478233,27.685498,
112.470676,27.681416,
112.463039,27.677452,
112.455326,27.673606,
112.447539,27.669879,
112.439680,27.666272,
112.431751,27.662788,
112.423756,27.659425,
112.415696,27.656187,
112.407574,27.653073,
112.399393,27.650084,
112.391154,27.647222,
112.382861,27.644488,
112.374515,27.641881,
112.366120,27.639403,
112.357677,27.637056,
112.349190,27.634838,
112.340661,27.632751,
112.332092,27.630796,
112.323486,27.628974,
112.314846,27.627284,
112.306175,27.625727,
112.297474,27.624305,
112.288747,27.623016,
112.279995,27.621862,
112.271223,27.620843,
112.262432,27.619959,
112.253625,27.619211,
112.244805,27.618599,
112.235974,27.618122,
112.227135,27.617782,
112.218291,27.617577,
112.209444,27.617509,
112.200598,27.617577,
112.191754,27.617782,
112.182915,27.618122,
112.174084,27.618599,
112.165264,27.619211,
112.156457,27.619959,
112.147666,27.620843,
112.138893,27.621862,
112.130142,27.623016,
112.121415,27.624305,
112.112714,27.625727,
112.104043,27.627284,
112.095403,27.628974,
112.086797,27.630796,
112.078228,27.632751,
112.069699,27.634838,
112.061212,27.637056,
112.052769,27.639403,
112.044374,27.641881,
112.036028,27.644488,
112.027735,27.647222,
112.019496,27.650084,
112.011314,27.653073,
112.003193,27.656187,
111.995133,27.659425,
111.987137,27.662788,
111.979209,27.666272,
111.971350,27.669879,
111.963563,27.673606,
111.955850,27.677452,
111.948213,27.681416,
111.940655,27.685498,
111.933178,27.689695,
111.925785,27.694007,
111.918477,27.698432,
111.911256,27.702969,
111.904126,27.707616,
111.897087,27.712372,
111.890143,27.717236,
111.883295,27.722207,
111.876546,27.727282,
111.869897,27.732460,
111.863350,27.737740,
111.856908,27.743120,
111.850573,27.748598,
111.844345,27.754173,
111.838228,27.759843,
111.832223,27.765606,
111.826332,27.771461,
111.820557,27.777406,
111.814899,27.783439,
111.809361,27.789558,
111.803943,27.795761,
111.798648,27.802047,
111.793478,27.808414,
111.788433,27.814859,
111.783515,27.821381,
111.778726,27.827978,
111.774068,27.834647,
111.769541,27.841387,
111.765148,27.848196,
111.760889,27.855071,
111.756765,27.862011,
111.752779,27.869014,
111.748932,27.876076,
111.745223,27.883197,
111.741656,27.890374,
111.738230,27.897605,
111.734947,27.904887,
111.731808,27.912219,
111.728814,27.919599,
111.725966,27.927023,
111.723264,27.934489,
111.720710,27.941997,
111.718304,27.949542,
111.716048,27.957124,
111.713941,27.964739,
111.711985,27.972385,
111.710179,27.980060,
111.708526,27.987762,
111.707025,27.995488,
111.705676,28.003237,
111.704481,28.011004,
111.703439,28.018789,
111.702551,28.026589,
111.701818,28.034401,
111.701238,28.042224,
111.700814,28.050054,
111.700544,28.057890,
111.700430,28.065728,
111.700470,28.073567,
111.700666,28.081404,
111.701016,28.089237,
111.701521,28.097064,
111.702182,28.104881,
111.702997,28.112687,
111.703966,28.120479,
111.705090,28.128256,
111.706367,28.136013,
111.707798,28.143750,
111.709382,28.151464,
111.711119,28.159152,
111.713008,28.166812,
111.715049,28.174442,
111.717241,28.182039,
111.719583,28.189602,
111.722074,28.197127,
111.724715,28.204613,
111.727504,28.212056,
111.730441,28.219456,
111.733524,28.226810,
111.736752,28.234114,
111.740125,28.241368,
111.743642,28.248569,
111.747302,28.255715,
111.751103,28.262803,
111.755044,28.269832,
111.759125,28.276798,
111.763343,28.283701,
111.767699,28.290538,
111.772189,28.297307,
111.776814,28.304006,
111.781571,28.310632,
111.786460,28.317184,
111.791478,28.323660,
111.796625,28.330057,
111.801898,28.336374,
111.807296,28.342610,
111.812818,28.348761,
111.818462,28.354826,
111.824225,28.360803,
111.830107,28.366690,
111.836106,28.372486,
111.842219,28.378189,
111.848445,28.383797,
111.854782,28.389308,
111.861228,28.394720,
111.867781,28.400033,
111.874439,28.405243,
111.881200,28.410351,
111.888062,28.415353,
111.895023,28.420249,
111.902081,28.425037,
111.909233,28.429716,
111.916477,28.434284,
111.923812,28.438739,
111.931235,28.443081,
111.938743,28.447308,
111.946335,28.451419,
111.954007,28.455412,
111.961759,28.459286,
111.969586,28.463041,
111.977488,28.466674,
111.985461,28.470185,
111.993503,28.473573,
112.001611,28.476836,
112.009784,28.479974,
112.018018,28.482986,
112.026311,28.485870,
112.034661,28.488626,
112.043064,28.491253,
112.051519,28.493751,
112.060022,28.496117,
112.068572,28.498353,
112.077164,28.500456,
112.085798,28.502427,
112.094470,28.504265,
112.103177,28.505968,
112.111917,28.507538,
112.120687,28.508972,
112.129485,28.510271,
112.138307,28.511435,
112.147151,28.512462,
112.156014,28.513353,
112.164894,28.514108,
112.173788,28.514726,
112.182692,28.515206,
112.191605,28.515550,
112.200523,28.515756
)
),
0.5
)),'</?[^>]*>|nbsp;|&','')) rd
from dual