pyogrio 0.7.2__cp38-cp38-macosx_11_0_arm64.whl → 0.8.0__cp38-cp38-macosx_11_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pyogrio might be problematic. Click here for more details.
- pyogrio/.dylibs/{libgdal.33.3.7.2.dylib → libgdal.34.3.8.5.dylib} +0 -0
- pyogrio/__init__.py +4 -0
- pyogrio/_compat.py +6 -1
- pyogrio/_err.cpython-38-darwin.so +0 -0
- pyogrio/_err.pyx +7 -3
- pyogrio/_geometry.cpython-38-darwin.so +0 -0
- pyogrio/_io.cpython-38-darwin.so +0 -0
- pyogrio/_io.pyx +900 -242
- pyogrio/_ogr.cpython-38-darwin.so +0 -0
- pyogrio/_ogr.pxd +65 -12
- pyogrio/_ogr.pyx +8 -24
- pyogrio/_version.py +3 -3
- pyogrio/_vsi.cpython-38-darwin.so +0 -0
- pyogrio/_vsi.pxd +4 -0
- pyogrio/_vsi.pyx +140 -0
- pyogrio/core.py +43 -44
- pyogrio/gdal_data/GDAL-targets-release.cmake +3 -3
- pyogrio/gdal_data/GDAL-targets.cmake +10 -6
- pyogrio/gdal_data/GDALConfigVersion.cmake +3 -3
- pyogrio/gdal_data/gdalinfo_output.schema.json +2 -0
- pyogrio/gdal_data/gdalvrt.xsd +163 -0
- pyogrio/gdal_data/ogrinfo_output.schema.json +12 -1
- pyogrio/gdal_data/vcpkg.spdx.json +22 -22
- pyogrio/gdal_data/vcpkg_abi_info.txt +27 -26
- pyogrio/geopandas.py +126 -29
- pyogrio/proj_data/ITRF2008 +2 -2
- pyogrio/proj_data/proj-config-version.cmake +2 -2
- pyogrio/proj_data/proj-config.cmake +2 -1
- pyogrio/proj_data/proj-targets.cmake +13 -13
- pyogrio/proj_data/proj.db +0 -0
- pyogrio/proj_data/proj4-targets.cmake +13 -13
- pyogrio/proj_data/vcpkg.spdx.json +19 -41
- pyogrio/proj_data/vcpkg_abi_info.txt +14 -15
- pyogrio/raw.py +438 -116
- pyogrio/tests/conftest.py +75 -6
- pyogrio/tests/test_arrow.py +841 -7
- pyogrio/tests/test_core.py +99 -7
- pyogrio/tests/test_geopandas_io.py +721 -120
- pyogrio/tests/test_path.py +22 -3
- pyogrio/tests/test_raw_io.py +276 -50
- pyogrio/util.py +38 -18
- {pyogrio-0.7.2.dist-info → pyogrio-0.8.0.dist-info}/METADATA +2 -2
- {pyogrio-0.7.2.dist-info → pyogrio-0.8.0.dist-info}/RECORD +46 -44
- {pyogrio-0.7.2.dist-info → pyogrio-0.8.0.dist-info}/WHEEL +1 -1
- pyogrio/tests/win32.py +0 -86
- {pyogrio-0.7.2.dist-info → pyogrio-0.8.0.dist-info}/LICENSE +0 -0
- {pyogrio-0.7.2.dist-info → pyogrio-0.8.0.dist-info}/top_level.txt +0 -0
pyogrio/geopandas.py
CHANGED
|
@@ -2,14 +2,14 @@ import os
|
|
|
2
2
|
|
|
3
3
|
import numpy as np
|
|
4
4
|
|
|
5
|
-
from pyogrio._compat import HAS_GEOPANDAS, PANDAS_GE_15, PANDAS_GE_20
|
|
5
|
+
from pyogrio._compat import HAS_GEOPANDAS, PANDAS_GE_15, PANDAS_GE_20, PANDAS_GE_22
|
|
6
6
|
from pyogrio.raw import (
|
|
7
7
|
DRIVERS_NO_MIXED_SINGLE_MULTI,
|
|
8
8
|
DRIVERS_NO_MIXED_DIMENSIONS,
|
|
9
|
-
detect_write_driver,
|
|
10
9
|
read,
|
|
11
10
|
read_arrow,
|
|
12
11
|
write,
|
|
12
|
+
_get_write_path_driver,
|
|
13
13
|
)
|
|
14
14
|
from pyogrio.errors import DataSourceError
|
|
15
15
|
import warnings
|
|
@@ -33,7 +33,9 @@ def _stringify_path(path):
|
|
|
33
33
|
def _try_parse_datetime(ser):
|
|
34
34
|
import pandas as pd # only called when pandas is known to be installed
|
|
35
35
|
|
|
36
|
-
if
|
|
36
|
+
if PANDAS_GE_22:
|
|
37
|
+
datetime_kwargs = dict(format="ISO8601")
|
|
38
|
+
elif PANDAS_GE_20:
|
|
37
39
|
datetime_kwargs = dict(format="ISO8601", errors="ignore")
|
|
38
40
|
else:
|
|
39
41
|
datetime_kwargs = dict(yearfirst=True)
|
|
@@ -48,10 +50,13 @@ def _try_parse_datetime(ser):
|
|
|
48
50
|
try:
|
|
49
51
|
res = pd.to_datetime(ser, **datetime_kwargs)
|
|
50
52
|
except Exception:
|
|
51
|
-
|
|
53
|
+
res = ser
|
|
52
54
|
# if object dtype, try parse as utc instead
|
|
53
55
|
if res.dtype == "object":
|
|
54
|
-
|
|
56
|
+
try:
|
|
57
|
+
res = pd.to_datetime(ser, utc=True, **datetime_kwargs)
|
|
58
|
+
except Exception:
|
|
59
|
+
pass
|
|
55
60
|
|
|
56
61
|
if res.dtype != "object":
|
|
57
62
|
# GDAL only supports ms precision, convert outputs to match.
|
|
@@ -101,13 +106,16 @@ def read_dataframe(
|
|
|
101
106
|
of the layer in the data source. Defaults to first layer in data source.
|
|
102
107
|
encoding : str, optional (default: None)
|
|
103
108
|
If present, will be used as the encoding for reading string values from
|
|
104
|
-
the data source
|
|
105
|
-
|
|
109
|
+
the data source. By default will automatically try to detect the native
|
|
110
|
+
encoding and decode to ``UTF-8``.
|
|
106
111
|
columns : list-like, optional (default: all columns)
|
|
107
112
|
List of column names to import from the data source. Column names must
|
|
108
113
|
exactly match the names in the data source, and will be returned in
|
|
109
114
|
the order they occur in the data source. To avoid reading any columns,
|
|
110
|
-
pass an empty list-like.
|
|
115
|
+
pass an empty list-like. If combined with ``where`` parameter, must
|
|
116
|
+
include columns referenced in the ``where`` expression or the data may
|
|
117
|
+
not be correctly read; the data source may return empty results or
|
|
118
|
+
raise an exception (behavior varies by driver).
|
|
111
119
|
read_geometry : bool, optional (default: True)
|
|
112
120
|
If True, will read geometry into a GeoSeries. If False, a Pandas DataFrame
|
|
113
121
|
will be returned instead.
|
|
@@ -152,7 +160,12 @@ def read_dataframe(
|
|
|
152
160
|
the starting index is driver and file specific (e.g. typically 0 for
|
|
153
161
|
Shapefile and 1 for GeoPackage, but can still depend on the specific
|
|
154
162
|
file). The performance of reading a large number of features usings FIDs
|
|
155
|
-
is also driver specific
|
|
163
|
+
is also driver specific and depends on the value of ``use_arrow``. The order
|
|
164
|
+
of the rows returned is undefined. If you would like to sort based on FID, use
|
|
165
|
+
``fid_as_index=True`` to have the index of the GeoDataFrame returned set to the
|
|
166
|
+
FIDs of the features read. If ``use_arrow=True``, the number of FIDs is limited
|
|
167
|
+
to 4997 for drivers with 'OGRSQL' as default SQL dialect. To read a larger
|
|
168
|
+
number of FIDs, set ``user_arrow=False``.
|
|
156
169
|
sql : str, optional (default: None)
|
|
157
170
|
The SQL statement to execute. Look at the sql_dialect parameter for more
|
|
158
171
|
information on the syntax to use for the query. When combined with other
|
|
@@ -318,6 +331,7 @@ def write_dataframe(
|
|
|
318
331
|
promote_to_multi=None,
|
|
319
332
|
nan_as_null=True,
|
|
320
333
|
append=False,
|
|
334
|
+
use_arrow=None,
|
|
321
335
|
dataset_metadata=None,
|
|
322
336
|
layer_metadata=None,
|
|
323
337
|
metadata=None,
|
|
@@ -335,16 +349,20 @@ def write_dataframe(
|
|
|
335
349
|
all values will be converted to strings to be written to the
|
|
336
350
|
output file, except None and np.nan, which will be set to NULL
|
|
337
351
|
in the output file.
|
|
338
|
-
path : str
|
|
339
|
-
path to file
|
|
340
|
-
|
|
341
|
-
|
|
352
|
+
path : str or io.BytesIO
|
|
353
|
+
path to output file on writeable file system or an io.BytesIO object to
|
|
354
|
+
allow writing to memory
|
|
355
|
+
NOTE: support for writing to memory is limited to specific drivers.
|
|
356
|
+
layer : str, optional (default: None)
|
|
357
|
+
layer name to create. If writing to memory and layer name is not
|
|
358
|
+
provided, it layer name will be set to a UUID4 value.
|
|
342
359
|
driver : string, optional (default: None)
|
|
343
|
-
The OGR format driver used to write the vector file. By default
|
|
344
|
-
|
|
360
|
+
The OGR format driver used to write the vector file. By default attempts
|
|
361
|
+
to infer driver from path. Must be provided to write to memory.
|
|
345
362
|
encoding : str, optional (default: None)
|
|
346
363
|
If present, will be used as the encoding for writing string values to
|
|
347
|
-
the file.
|
|
364
|
+
the file. Use with caution, only certain drivers support encodings
|
|
365
|
+
other than UTF-8.
|
|
348
366
|
geometry_type : string, optional (default: None)
|
|
349
367
|
By default, the geometry type of the layer will be inferred from the
|
|
350
368
|
data, after applying the promote_to_multi logic. If the data only contains a
|
|
@@ -376,8 +394,17 @@ def write_dataframe(
|
|
|
376
394
|
append : bool, optional (default: False)
|
|
377
395
|
If True, the data source specified by path already exists, and the
|
|
378
396
|
driver supports appending to an existing data source, will cause the
|
|
379
|
-
data to be appended to the existing records in the data source.
|
|
397
|
+
data to be appended to the existing records in the data source. Not
|
|
398
|
+
supported for writing to in-memory files.
|
|
380
399
|
NOTE: append support is limited to specific drivers and GDAL versions.
|
|
400
|
+
use_arrow : bool, optional (default: False)
|
|
401
|
+
Whether to use Arrow as the transfer mechanism of the data to write
|
|
402
|
+
from Python to GDAL (requires GDAL >= 3.8 and `pyarrow` to be
|
|
403
|
+
installed). When enabled, this provides a further speed-up.
|
|
404
|
+
Defaults to False, but this default can also be globally overridden
|
|
405
|
+
by setting the ``PYOGRIO_USE_ARROW=1`` environment variable.
|
|
406
|
+
Using Arrow does not support writing an object-dtype column with
|
|
407
|
+
mixed types.
|
|
381
408
|
dataset_metadata : dict, optional (default: None)
|
|
382
409
|
Metadata to be stored at the dataset level in the output file; limited
|
|
383
410
|
to drivers that support writing metadata, such as GPKG, and silently
|
|
@@ -389,10 +416,10 @@ def write_dataframe(
|
|
|
389
416
|
metadata : dict, optional (default: None)
|
|
390
417
|
alias of layer_metadata
|
|
391
418
|
dataset_options : dict, optional
|
|
392
|
-
Dataset creation
|
|
419
|
+
Dataset creation options (format specific) passed to OGR. Specify as
|
|
393
420
|
a key-value dictionary.
|
|
394
421
|
layer_options : dict, optional
|
|
395
|
-
Layer creation
|
|
422
|
+
Layer creation options (format specific) passed to OGR. Specify as
|
|
396
423
|
a key-value dictionary.
|
|
397
424
|
**kwargs
|
|
398
425
|
Additional driver-specific dataset or layer creation options passed
|
|
@@ -412,13 +439,12 @@ def write_dataframe(
|
|
|
412
439
|
import pandas as pd
|
|
413
440
|
from pyproj.enums import WktVersion # if geopandas is available so is pyproj
|
|
414
441
|
|
|
415
|
-
path = str(path)
|
|
416
|
-
|
|
417
442
|
if not isinstance(df, pd.DataFrame):
|
|
418
443
|
raise ValueError("'df' must be a DataFrame or GeoDataFrame")
|
|
419
444
|
|
|
420
|
-
if
|
|
421
|
-
|
|
445
|
+
if use_arrow is None:
|
|
446
|
+
use_arrow = bool(int(os.environ.get("PYOGRIO_USE_ARROW", "0")))
|
|
447
|
+
path, driver = _get_write_path_driver(path, driver, append=append)
|
|
422
448
|
|
|
423
449
|
geometry_columns = df.columns[df.dtypes == "geometry"]
|
|
424
450
|
if len(geometry_columns) > 1:
|
|
@@ -456,7 +482,7 @@ def write_dataframe(
|
|
|
456
482
|
# https://gdal.org/development/rfc/rfc56_millisecond_precision.html#core-changes
|
|
457
483
|
# Convert each row offset to a signed multiple of 15m and add to GMT value
|
|
458
484
|
gdal_offset_representation = tz_offset // pd.Timedelta("15m") + 100
|
|
459
|
-
gdal_tz_offsets[name] = gdal_offset_representation
|
|
485
|
+
gdal_tz_offsets[name] = gdal_offset_representation.values
|
|
460
486
|
else:
|
|
461
487
|
values = col.values
|
|
462
488
|
if isinstance(values, pd.api.extensions.ExtensionArray):
|
|
@@ -473,6 +499,9 @@ def write_dataframe(
|
|
|
473
499
|
field_mask.append(None)
|
|
474
500
|
|
|
475
501
|
# Determine geometry_type and/or promote_to_multi
|
|
502
|
+
if geometry_column is not None:
|
|
503
|
+
geometry_types_all = geometry.geom_type
|
|
504
|
+
|
|
476
505
|
if geometry_column is not None and (
|
|
477
506
|
geometry_type is None or promote_to_multi is None
|
|
478
507
|
):
|
|
@@ -482,9 +511,7 @@ def write_dataframe(
|
|
|
482
511
|
# If there is data, infer layer geometry type + promote_to_multi
|
|
483
512
|
if not df.empty:
|
|
484
513
|
# None/Empty geometries sometimes report as Z incorrectly, so ignore them
|
|
485
|
-
has_z_arr = geometry[
|
|
486
|
-
(geometry != np.array(None)) & (~geometry.is_empty)
|
|
487
|
-
].has_z
|
|
514
|
+
has_z_arr = geometry[geometry.notna() & (~geometry.is_empty)].has_z
|
|
488
515
|
has_z = has_z_arr.any()
|
|
489
516
|
all_z = has_z_arr.all()
|
|
490
517
|
|
|
@@ -493,7 +520,7 @@ def write_dataframe(
|
|
|
493
520
|
f"Mixed 2D and 3D coordinates are not supported by {driver}"
|
|
494
521
|
)
|
|
495
522
|
|
|
496
|
-
geometry_types = pd.Series(
|
|
523
|
+
geometry_types = pd.Series(geometry_types_all.unique()).dropna().values
|
|
497
524
|
if len(geometry_types) == 1:
|
|
498
525
|
tmp_geometry_type = geometry_types[0]
|
|
499
526
|
if promote_to_multi and tmp_geometry_type in (
|
|
@@ -537,10 +564,80 @@ def write_dataframe(
|
|
|
537
564
|
# if possible use EPSG codes instead
|
|
538
565
|
epsg = geometry.crs.to_epsg()
|
|
539
566
|
if epsg:
|
|
540
|
-
crs = f"EPSG:{epsg}"
|
|
567
|
+
crs = f"EPSG:{epsg}" # noqa: E231
|
|
541
568
|
else:
|
|
542
569
|
crs = geometry.crs.to_wkt(WktVersion.WKT1_GDAL)
|
|
543
570
|
|
|
571
|
+
if use_arrow:
|
|
572
|
+
import pyarrow as pa
|
|
573
|
+
from pyogrio.raw import write_arrow
|
|
574
|
+
|
|
575
|
+
if geometry_column is not None:
|
|
576
|
+
# Convert to multi type
|
|
577
|
+
if promote_to_multi:
|
|
578
|
+
import shapely
|
|
579
|
+
|
|
580
|
+
mask_points = geometry_types_all == "Point"
|
|
581
|
+
mask_linestrings = geometry_types_all == "LineString"
|
|
582
|
+
mask_polygons = geometry_types_all == "Polygon"
|
|
583
|
+
|
|
584
|
+
if mask_points.any():
|
|
585
|
+
geometry[mask_points] = shapely.multipoints(
|
|
586
|
+
np.atleast_2d(geometry[mask_points]), axis=0
|
|
587
|
+
)
|
|
588
|
+
|
|
589
|
+
if mask_linestrings.any():
|
|
590
|
+
geometry[mask_linestrings] = shapely.multilinestrings(
|
|
591
|
+
np.atleast_2d(geometry[mask_linestrings]), axis=0
|
|
592
|
+
)
|
|
593
|
+
|
|
594
|
+
if mask_polygons.any():
|
|
595
|
+
geometry[mask_polygons] = shapely.multipolygons(
|
|
596
|
+
np.atleast_2d(geometry[mask_polygons]), axis=0
|
|
597
|
+
)
|
|
598
|
+
|
|
599
|
+
geometry = to_wkb(geometry.values)
|
|
600
|
+
df = df.copy(deep=False)
|
|
601
|
+
# convert to plain DataFrame to avoid warning from geopandas about
|
|
602
|
+
# writing non-geometries to the geometry column
|
|
603
|
+
df = pd.DataFrame(df, copy=False)
|
|
604
|
+
df[geometry_column] = geometry
|
|
605
|
+
|
|
606
|
+
table = pa.Table.from_pandas(df, preserve_index=False)
|
|
607
|
+
|
|
608
|
+
if geometry_column is not None:
|
|
609
|
+
# ensure that the geometry column is binary (for all-null geometries,
|
|
610
|
+
# this could be a wrong type)
|
|
611
|
+
geom_field = table.schema.field(geometry_column)
|
|
612
|
+
if not (
|
|
613
|
+
pa.types.is_binary(geom_field.type)
|
|
614
|
+
or pa.types.is_large_binary(geom_field.type)
|
|
615
|
+
):
|
|
616
|
+
table = table.set_column(
|
|
617
|
+
table.schema.get_field_index(geometry_column),
|
|
618
|
+
geom_field.with_type(pa.binary()),
|
|
619
|
+
table[geometry_column].cast(pa.binary()),
|
|
620
|
+
)
|
|
621
|
+
|
|
622
|
+
write_arrow(
|
|
623
|
+
table,
|
|
624
|
+
path,
|
|
625
|
+
layer=layer,
|
|
626
|
+
driver=driver,
|
|
627
|
+
geometry_name=geometry_column,
|
|
628
|
+
geometry_type=geometry_type,
|
|
629
|
+
crs=crs,
|
|
630
|
+
encoding=encoding,
|
|
631
|
+
append=append,
|
|
632
|
+
dataset_metadata=dataset_metadata,
|
|
633
|
+
layer_metadata=layer_metadata,
|
|
634
|
+
metadata=metadata,
|
|
635
|
+
dataset_options=dataset_options,
|
|
636
|
+
layer_options=layer_options,
|
|
637
|
+
**kwargs,
|
|
638
|
+
)
|
|
639
|
+
return
|
|
640
|
+
|
|
544
641
|
# If there is geometry data, prepare it to be written
|
|
545
642
|
if geometry_column is not None:
|
|
546
643
|
geometry = to_wkb(geometry.values)
|
pyogrio/proj_data/ITRF2008
CHANGED
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
|
|
43
43
|
<CARB> +proj=helmert +drx=0.000049 +dry=-0.001088 +drz=0.000664 +convention=position_vector
|
|
44
44
|
|
|
45
|
-
<EURA> +proj=helmert +drx=-0.000083 +dry
|
|
45
|
+
<EURA> +proj=helmert +drx=-0.000083 +dry=-0.000534 +drz=0.000750 +convention=position_vector
|
|
46
46
|
|
|
47
47
|
<INDI> +proj=helmert +drx=0.001232 +dry=0.000303 +drz=0.001540 +convention=position_vector
|
|
48
48
|
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
|
|
76
76
|
<CARB_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=0.000049 +dry=-0.001088 +drz=0.000664 +convention=position_vector
|
|
77
77
|
|
|
78
|
-
<EURA_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=-0.000083 +dry
|
|
78
|
+
<EURA_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=-0.000083 +dry=-0.000534 +drz=0.000750 +convention=position_vector
|
|
79
79
|
|
|
80
80
|
<INDI_T> +proj=helmert +dx=0.00041 +dy=0.00022 +dz=0.00041 +drx=0.001232 +dry=0.000303 +drz=0.001540 +convention=position_vector
|
|
81
81
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Version checking for PROJ
|
|
2
2
|
|
|
3
|
-
set (PACKAGE_VERSION "9.
|
|
3
|
+
set (PACKAGE_VERSION "9.4.0")
|
|
4
4
|
set (PACKAGE_VERSION_MAJOR "9")
|
|
5
|
-
set (PACKAGE_VERSION_MINOR "
|
|
5
|
+
set (PACKAGE_VERSION_MINOR "4")
|
|
6
6
|
set (PACKAGE_VERSION_PATCH "0")
|
|
7
7
|
|
|
8
8
|
# These variable definitions parallel those in PROJ's
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
|
|
4
4
|
message(FATAL_ERROR "CMake >= 2.8.0 required")
|
|
5
5
|
endif()
|
|
6
|
-
if(CMAKE_VERSION VERSION_LESS "2.8.
|
|
7
|
-
message(FATAL_ERROR "CMake >= 2.8.
|
|
6
|
+
if(CMAKE_VERSION VERSION_LESS "2.8.12")
|
|
7
|
+
message(FATAL_ERROR "CMake >= 2.8.12 required")
|
|
8
8
|
endif()
|
|
9
9
|
cmake_policy(PUSH)
|
|
10
|
-
cmake_policy(VERSION 2.8.
|
|
10
|
+
cmake_policy(VERSION 2.8.12...3.27)
|
|
11
11
|
#----------------------------------------------------------------
|
|
12
12
|
# Generated CMake target import file.
|
|
13
13
|
#----------------------------------------------------------------
|
|
@@ -60,13 +60,9 @@ add_library(PROJ::proj STATIC IMPORTED)
|
|
|
60
60
|
set_target_properties(PROJ::proj PROPERTIES
|
|
61
61
|
INTERFACE_COMPILE_DEFINITIONS "PROJ_DLL="
|
|
62
62
|
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
|
63
|
-
INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:-lm>;\$<LINK_ONLY:-ldl>;\$<LINK_ONLY:
|
|
63
|
+
INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:-lm>;\$<LINK_ONLY:-ldl>;\$<LINK_ONLY:SQLite::SQLite3>;\$<LINK_ONLY:>;\$<LINK_ONLY:TIFF::TIFF>;\$<LINK_ONLY:CURL::libcurl>;\$<LINK_ONLY:\$<\$<CXX_COMPILER_ID:MSVC>:ws2_32>>;\$<LINK_ONLY:\$<\$<CXX_COMPILER_ID:MSVC>:wldap32>>;\$<LINK_ONLY:\$<\$<CXX_COMPILER_ID:MSVC>:advapi32>>;\$<LINK_ONLY:\$<\$<CXX_COMPILER_ID:MSVC>:crypt32>>;\$<LINK_ONLY:\$<\$<CXX_COMPILER_ID:MSVC>:normaliz>>"
|
|
64
64
|
)
|
|
65
65
|
|
|
66
|
-
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
67
|
-
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
|
68
|
-
endif()
|
|
69
|
-
|
|
70
66
|
# Load information for each installed configuration.
|
|
71
67
|
file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/proj-targets-*.cmake")
|
|
72
68
|
foreach(_cmake_config_file IN LISTS _cmake_config_files)
|
|
@@ -80,9 +76,12 @@ set(_IMPORT_PREFIX)
|
|
|
80
76
|
|
|
81
77
|
# Loop over all imported files and verify that they actually exist
|
|
82
78
|
foreach(_cmake_target IN LISTS _cmake_import_check_targets)
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
79
|
+
if(CMAKE_VERSION VERSION_LESS "3.28"
|
|
80
|
+
OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
|
|
81
|
+
OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
|
|
82
|
+
foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
|
|
83
|
+
if(NOT EXISTS "${_cmake_file}")
|
|
84
|
+
message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
|
|
86
85
|
\"${_cmake_file}\"
|
|
87
86
|
but this file does not exist. Possible reasons include:
|
|
88
87
|
* The file was deleted, renamed, or moved to another location.
|
|
@@ -91,8 +90,9 @@ but this file does not exist. Possible reasons include:
|
|
|
91
90
|
\"${CMAKE_CURRENT_LIST_FILE}\"
|
|
92
91
|
but not all the files it references.
|
|
93
92
|
")
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
endif()
|
|
94
|
+
endforeach()
|
|
95
|
+
endif()
|
|
96
96
|
unset(_cmake_file)
|
|
97
97
|
unset("_cmake_import_check_files_for_${_cmake_target}")
|
|
98
98
|
endforeach()
|
pyogrio/proj_data/proj.db
CHANGED
|
Binary file
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.8)
|
|
4
4
|
message(FATAL_ERROR "CMake >= 2.8.0 required")
|
|
5
5
|
endif()
|
|
6
|
-
if(CMAKE_VERSION VERSION_LESS "2.8.
|
|
7
|
-
message(FATAL_ERROR "CMake >= 2.8.
|
|
6
|
+
if(CMAKE_VERSION VERSION_LESS "2.8.12")
|
|
7
|
+
message(FATAL_ERROR "CMake >= 2.8.12 required")
|
|
8
8
|
endif()
|
|
9
9
|
cmake_policy(PUSH)
|
|
10
|
-
cmake_policy(VERSION 2.8.
|
|
10
|
+
cmake_policy(VERSION 2.8.12...3.27)
|
|
11
11
|
#----------------------------------------------------------------
|
|
12
12
|
# Generated CMake target import file.
|
|
13
13
|
#----------------------------------------------------------------
|
|
@@ -60,13 +60,9 @@ add_library(PROJ4::proj STATIC IMPORTED)
|
|
|
60
60
|
set_target_properties(PROJ4::proj PROPERTIES
|
|
61
61
|
INTERFACE_COMPILE_DEFINITIONS "PROJ_DLL="
|
|
62
62
|
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
|
63
|
-
INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:-lm>;\$<LINK_ONLY:-ldl>;\$<LINK_ONLY:
|
|
63
|
+
INTERFACE_LINK_LIBRARIES "\$<LINK_ONLY:-lm>;\$<LINK_ONLY:-ldl>;\$<LINK_ONLY:SQLite::SQLite3>;\$<LINK_ONLY:>;\$<LINK_ONLY:TIFF::TIFF>;\$<LINK_ONLY:CURL::libcurl>;\$<LINK_ONLY:\$<\$<CXX_COMPILER_ID:MSVC>:ws2_32>>;\$<LINK_ONLY:\$<\$<CXX_COMPILER_ID:MSVC>:wldap32>>;\$<LINK_ONLY:\$<\$<CXX_COMPILER_ID:MSVC>:advapi32>>;\$<LINK_ONLY:\$<\$<CXX_COMPILER_ID:MSVC>:crypt32>>;\$<LINK_ONLY:\$<\$<CXX_COMPILER_ID:MSVC>:normaliz>>"
|
|
64
64
|
)
|
|
65
65
|
|
|
66
|
-
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
67
|
-
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
|
68
|
-
endif()
|
|
69
|
-
|
|
70
66
|
# Load information for each installed configuration.
|
|
71
67
|
file(GLOB _cmake_config_files "${CMAKE_CURRENT_LIST_DIR}/proj4-targets-*.cmake")
|
|
72
68
|
foreach(_cmake_config_file IN LISTS _cmake_config_files)
|
|
@@ -80,9 +76,12 @@ set(_IMPORT_PREFIX)
|
|
|
80
76
|
|
|
81
77
|
# Loop over all imported files and verify that they actually exist
|
|
82
78
|
foreach(_cmake_target IN LISTS _cmake_import_check_targets)
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
79
|
+
if(CMAKE_VERSION VERSION_LESS "3.28"
|
|
80
|
+
OR NOT DEFINED _cmake_import_check_xcframework_for_${_cmake_target}
|
|
81
|
+
OR NOT IS_DIRECTORY "${_cmake_import_check_xcframework_for_${_cmake_target}}")
|
|
82
|
+
foreach(_cmake_file IN LISTS "_cmake_import_check_files_for_${_cmake_target}")
|
|
83
|
+
if(NOT EXISTS "${_cmake_file}")
|
|
84
|
+
message(FATAL_ERROR "The imported target \"${_cmake_target}\" references the file
|
|
86
85
|
\"${_cmake_file}\"
|
|
87
86
|
but this file does not exist. Possible reasons include:
|
|
88
87
|
* The file was deleted, renamed, or moved to another location.
|
|
@@ -91,8 +90,9 @@ but this file does not exist. Possible reasons include:
|
|
|
91
90
|
\"${CMAKE_CURRENT_LIST_FILE}\"
|
|
92
91
|
but not all the files it references.
|
|
93
92
|
")
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
endif()
|
|
94
|
+
endforeach()
|
|
95
|
+
endif()
|
|
96
96
|
unset(_cmake_file)
|
|
97
97
|
unset("_cmake_import_check_files_for_${_cmake_target}")
|
|
98
98
|
endforeach()
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
"spdxVersion": "SPDX-2.2",
|
|
4
4
|
"dataLicense": "CC0-1.0",
|
|
5
5
|
"SPDXID": "SPDXRef-DOCUMENT",
|
|
6
|
-
"documentNamespace": "https://spdx.org/spdxdocs/proj-arm64-osx-dynamic-release-9.
|
|
7
|
-
"name": "proj:arm64-osx-dynamic-release@9.
|
|
6
|
+
"documentNamespace": "https://spdx.org/spdxdocs/proj-arm64-osx-dynamic-release-9.4.0-9491cde3-4c6b-4488-85dd-f6d39095c75d",
|
|
7
|
+
"name": "proj:arm64-osx-dynamic-release@9.4.0 ae315e03ec207af28b043c414cbeaeef6f4674e495ebabcedb1050d41ed50047",
|
|
8
8
|
"creationInfo": {
|
|
9
9
|
"creators": [
|
|
10
|
-
"Tool: vcpkg-
|
|
10
|
+
"Tool: vcpkg-710a3116bbd615864eef5f9010af178034cb9b44"
|
|
11
11
|
],
|
|
12
|
-
"created": "
|
|
12
|
+
"created": "2024-04-17T23:25:17Z"
|
|
13
13
|
},
|
|
14
14
|
"relationships": [
|
|
15
15
|
{
|
|
@@ -47,11 +47,6 @@
|
|
|
47
47
|
"relationshipType": "CONTAINS",
|
|
48
48
|
"relatedSpdxElement": "SPDXRef-file-5"
|
|
49
49
|
},
|
|
50
|
-
{
|
|
51
|
-
"spdxElementId": "SPDXRef-port",
|
|
52
|
-
"relationshipType": "CONTAINS",
|
|
53
|
-
"relatedSpdxElement": "SPDXRef-file-6"
|
|
54
|
-
},
|
|
55
50
|
{
|
|
56
51
|
"spdxElementId": "SPDXRef-binary",
|
|
57
52
|
"relationshipType": "GENERATED_FROM",
|
|
@@ -86,19 +81,14 @@
|
|
|
86
81
|
"spdxElementId": "SPDXRef-file-5",
|
|
87
82
|
"relationshipType": "CONTAINED_BY",
|
|
88
83
|
"relatedSpdxElement": "SPDXRef-port"
|
|
89
|
-
},
|
|
90
|
-
{
|
|
91
|
-
"spdxElementId": "SPDXRef-file-6",
|
|
92
|
-
"relationshipType": "CONTAINED_BY",
|
|
93
|
-
"relatedSpdxElement": "SPDXRef-port"
|
|
94
84
|
}
|
|
95
85
|
],
|
|
96
86
|
"packages": [
|
|
97
87
|
{
|
|
98
88
|
"name": "proj",
|
|
99
89
|
"SPDXID": "SPDXRef-port",
|
|
100
|
-
"versionInfo": "9.
|
|
101
|
-
"downloadLocation": "git+https://github.com/Microsoft/vcpkg@
|
|
90
|
+
"versionInfo": "9.4.0",
|
|
91
|
+
"downloadLocation": "git+https://github.com/Microsoft/vcpkg@62e9ace469641b907291184ebc7e76d96f629881",
|
|
102
92
|
"homepage": "https://proj.org/",
|
|
103
93
|
"licenseConcluded": "MIT",
|
|
104
94
|
"licenseDeclared": "NOASSERTION",
|
|
@@ -109,7 +99,7 @@
|
|
|
109
99
|
{
|
|
110
100
|
"name": "proj:arm64-osx-dynamic-release",
|
|
111
101
|
"SPDXID": "SPDXRef-binary",
|
|
112
|
-
"versionInfo": "
|
|
102
|
+
"versionInfo": "ae315e03ec207af28b043c414cbeaeef6f4674e495ebabcedb1050d41ed50047",
|
|
113
103
|
"downloadLocation": "NONE",
|
|
114
104
|
"licenseConcluded": "MIT",
|
|
115
105
|
"licenseDeclared": "NOASSERTION",
|
|
@@ -119,21 +109,21 @@
|
|
|
119
109
|
{
|
|
120
110
|
"SPDXID": "SPDXRef-resource-1",
|
|
121
111
|
"name": "OSGeo/PROJ",
|
|
122
|
-
"downloadLocation": "git+https://github.com/OSGeo/PROJ@9.
|
|
112
|
+
"downloadLocation": "git+https://github.com/OSGeo/PROJ@9.4.0",
|
|
123
113
|
"licenseConcluded": "NOASSERTION",
|
|
124
114
|
"licenseDeclared": "NOASSERTION",
|
|
125
115
|
"copyrightText": "NOASSERTION",
|
|
126
116
|
"checksums": [
|
|
127
117
|
{
|
|
128
118
|
"algorithm": "SHA512",
|
|
129
|
-
"checksumValue": "
|
|
119
|
+
"checksumValue": "5bc53723a81d9950599d6c47a837de5e9052aa56f943951e3ad0911cbeb71585bac648f37b9b626f32bb5d0b481ce5aef9be0833910e53b4b015b573808b8981"
|
|
130
120
|
}
|
|
131
121
|
]
|
|
132
122
|
}
|
|
133
123
|
],
|
|
134
124
|
"files": [
|
|
135
125
|
{
|
|
136
|
-
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/
|
|
126
|
+
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/62e9ace469641b907291184ebc7e76d96f629881/usage",
|
|
137
127
|
"SPDXID": "SPDXRef-file-0",
|
|
138
128
|
"checksums": [
|
|
139
129
|
{
|
|
@@ -145,68 +135,56 @@
|
|
|
145
135
|
"copyrightText": "NOASSERTION"
|
|
146
136
|
},
|
|
147
137
|
{
|
|
148
|
-
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/
|
|
138
|
+
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/62e9ace469641b907291184ebc7e76d96f629881/portfile.cmake",
|
|
149
139
|
"SPDXID": "SPDXRef-file-1",
|
|
150
140
|
"checksums": [
|
|
151
141
|
{
|
|
152
142
|
"algorithm": "SHA256",
|
|
153
|
-
"checksumValue": "
|
|
143
|
+
"checksumValue": "58b4048cfc81891c1e32e41bc00b52ea7ae2821bd577b46ab63d2c962ef8747d"
|
|
154
144
|
}
|
|
155
145
|
],
|
|
156
146
|
"licenseConcluded": "NOASSERTION",
|
|
157
147
|
"copyrightText": "NOASSERTION"
|
|
158
148
|
},
|
|
159
149
|
{
|
|
160
|
-
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/
|
|
150
|
+
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/62e9ace469641b907291184ebc7e76d96f629881/vcpkg.json",
|
|
161
151
|
"SPDXID": "SPDXRef-file-2",
|
|
162
152
|
"checksums": [
|
|
163
153
|
{
|
|
164
154
|
"algorithm": "SHA256",
|
|
165
|
-
"checksumValue": "
|
|
155
|
+
"checksumValue": "d31d1d3beb5ef0890e4b5db1ee5b72a925a58aa53bfaee688d4b5af1cea2bba4"
|
|
166
156
|
}
|
|
167
157
|
],
|
|
168
158
|
"licenseConcluded": "NOASSERTION",
|
|
169
159
|
"copyrightText": "NOASSERTION"
|
|
170
160
|
},
|
|
171
161
|
{
|
|
172
|
-
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/
|
|
162
|
+
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/62e9ace469641b907291184ebc7e76d96f629881/remove_toolset_restriction.patch",
|
|
173
163
|
"SPDXID": "SPDXRef-file-3",
|
|
174
164
|
"checksums": [
|
|
175
165
|
{
|
|
176
166
|
"algorithm": "SHA256",
|
|
177
|
-
"checksumValue": "
|
|
167
|
+
"checksumValue": "25c1c986673bd539f5ec920684a08b38d0d37d9e24b6793e5b79dbd717bde04e"
|
|
178
168
|
}
|
|
179
169
|
],
|
|
180
170
|
"licenseConcluded": "NOASSERTION",
|
|
181
171
|
"copyrightText": "NOASSERTION"
|
|
182
172
|
},
|
|
183
173
|
{
|
|
184
|
-
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/
|
|
174
|
+
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/62e9ace469641b907291184ebc7e76d96f629881/fix-proj4-targets-cmake.patch",
|
|
185
175
|
"SPDXID": "SPDXRef-file-4",
|
|
186
176
|
"checksums": [
|
|
187
177
|
{
|
|
188
178
|
"algorithm": "SHA256",
|
|
189
|
-
"checksumValue": "
|
|
179
|
+
"checksumValue": "d76e1d419d3367dda3381fd11a637f3465bc838d611fa8ceaca20048c1b3cd6e"
|
|
190
180
|
}
|
|
191
181
|
],
|
|
192
182
|
"licenseConcluded": "NOASSERTION",
|
|
193
183
|
"copyrightText": "NOASSERTION"
|
|
194
184
|
},
|
|
195
185
|
{
|
|
196
|
-
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/
|
|
186
|
+
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/62e9ace469641b907291184ebc7e76d96f629881/fix-win-output-name.patch",
|
|
197
187
|
"SPDXID": "SPDXRef-file-5",
|
|
198
|
-
"checksums": [
|
|
199
|
-
{
|
|
200
|
-
"algorithm": "SHA256",
|
|
201
|
-
"checksumValue": "0bcc51d69830a495a955cb97a8a1f91d9cec0410cbd8198f82f4fe60169d696f"
|
|
202
|
-
}
|
|
203
|
-
],
|
|
204
|
-
"licenseConcluded": "NOASSERTION",
|
|
205
|
-
"copyrightText": "NOASSERTION"
|
|
206
|
-
},
|
|
207
|
-
{
|
|
208
|
-
"fileName": ".//usr/local/share/vcpkg/buildtrees/versioning_/versions/proj/6e31164b906c96903b8352e6a9211ae019672ac4/fix-win-output-name.patch",
|
|
209
|
-
"SPDXID": "SPDXRef-file-6",
|
|
210
188
|
"checksums": [
|
|
211
189
|
{
|
|
212
190
|
"algorithm": "SHA256",
|
|
@@ -1,28 +1,27 @@
|
|
|
1
|
-
cmake 3.
|
|
2
|
-
curl
|
|
1
|
+
cmake 3.29.0
|
|
2
|
+
curl 05c99c9ad5e9f7ec5c7b136500b2d0acab2eda1360610a899b8cbae8eaff4b63
|
|
3
3
|
features core;net;tiff
|
|
4
|
-
fix-proj4-targets-cmake.patch
|
|
5
|
-
fix-uwp.patch 8ca726f9cca8465fb5efdcff7f2dc0c9247fa0782f0bd1d1384d7912afb7c3b8
|
|
4
|
+
fix-proj4-targets-cmake.patch d76e1d419d3367dda3381fd11a637f3465bc838d611fa8ceaca20048c1b3cd6e
|
|
6
5
|
fix-win-output-name.patch 706e536cfe9a90c1b071ab5b00932fa96bb35c67fcb0f96c0fc4feb7c0b44011
|
|
7
|
-
nlohmann-json
|
|
8
|
-
portfile.cmake
|
|
9
|
-
ports.cmake
|
|
6
|
+
nlohmann-json 4d1f1229ac12410f5f80e8c03b9be0fb146a56d740a36645f2d9f99c1468b729
|
|
7
|
+
portfile.cmake 58b4048cfc81891c1e32e41bc00b52ea7ae2821bd577b46ab63d2c962ef8747d
|
|
8
|
+
ports.cmake 0500e9e2422fe0084c99bdd0c9de4c7069b76da14c8b58228a7e95ebac43058a
|
|
10
9
|
post_build_checks 2
|
|
11
10
|
remove_toolset_restriction.patch 25c1c986673bd539f5ec920684a08b38d0d37d9e24b6793e5b79dbd717bde04e
|
|
12
|
-
sqlite3
|
|
13
|
-
sqlite3
|
|
14
|
-
tiff
|
|
11
|
+
sqlite3 039c78d759f1403e654458b77a537456de993a0ee68031821c0189f33ac5e414
|
|
12
|
+
sqlite3 94ead4c0f2c47e5b2b7e2a37b8501f12836b4c997281759b6a08a1e09cc7a8b8
|
|
13
|
+
tiff fa3effa93a67fbf00f177e8e5da39f1250f4908e485da9becfa23c404f24b445
|
|
15
14
|
triplet arm64-osx-dynamic-release
|
|
16
15
|
triplet_abi 7d6855d77bd4c445eb17b139dd8ddd74f95a06d0ea1d079ccef9256df98cd7af-a654e5c1a635cb784f3168426c422995eefe31912588726942497566a5bca495-c1d30f72952462506466f7d6fd75f7438b8a6a10
|
|
17
16
|
usage 26169363c27e71a44cba9d703b22bbd13c191ab5e2d0612b3dd35c735c971fe6
|
|
18
|
-
vcpkg-cmake
|
|
19
|
-
vcpkg-cmake-config
|
|
20
|
-
vcpkg.json
|
|
17
|
+
vcpkg-cmake 0a2d6d18e8953e1c2acd0af09144c74662331c1f06445428f03aa23ab3e93b09
|
|
18
|
+
vcpkg-cmake-config 95ba0954962e033d18bfe2400cbb5135be197460d56cc987fae1b3bc4e631a00
|
|
19
|
+
vcpkg.json d31d1d3beb5ef0890e4b5db1ee5b72a925a58aa53bfaee688d4b5af1cea2bba4
|
|
21
20
|
vcpkg_check_features 943b217e0968d64cf2cb9c272608e6a0b497377e792034f819809a79e1502c2b
|
|
22
21
|
vcpkg_copy_pdbs d57e4f196c82dc562a9968c6155073094513c31e2de475694143d3aa47954b1c
|
|
23
22
|
vcpkg_copy_tools 3d45ff761bddbabe8923b52330168dc3abd295fa469d3f2e47cb14dce85332d5
|
|
24
|
-
vcpkg_fixup_pkgconfig
|
|
25
|
-
vcpkg_from_git
|
|
23
|
+
vcpkg_fixup_pkgconfig 904e67c46ecbb67379911bc1d7222855c0cbfcf1129bf47783858bcf0cc44970
|
|
24
|
+
vcpkg_from_git 96ed81968f76354c00096dd8cd4e63c6a235fa969334a11ab18d11c0c512ff58
|
|
26
25
|
vcpkg_from_github b743742296a114ea1b18ae99672e02f142c4eb2bef7f57d36c038bedbfb0502f
|
|
27
26
|
vcpkg_list f5de3ebcbc40a4db90622ade9aca918e2cf404dc0d91342fcde457d730e6fa29
|
|
28
27
|
vcpkg_replace_string d43c8699ce27e25d47367c970d1c546f6bc36b6df8fb0be0c3986eb5830bd4f1
|